ASP.NET MVC 用户控件无法post方法提交

dy00002 2011-04-18 03:09:42
代码:

<form id = "form1" name = "form1" action="/Result/Doquery" method ="post">

<input id="searchInput" type="text" value="Search" />
<div id="ddlBox">
<ul id="main_box">
<li class="select_box"><span id = "sizeSpan" onclick = "javascript:gettext()" >Categories</span>
<ul class="son_ul">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
</div>

<img id="img_search" type="image" src="/images/IconSearch.png" onclick="javascript:fsubmit(document.form1)" style = "cursor:hand"/>

</form>

这是一个用户控件,我在另外个页面引用了它。

<%@ Register Src="~/Views/Shared/UserControls/Search.ascx" TagName="Search" TagPrefix="uc1" %>

<div id="searchBar" class="right">

<uc1:Search ID="Search1" runat="server" />

</div>

但我点击后 并不能触发/Result/Doquery
WHY?
...全文
281 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
毛建生 2013-02-28
  • 打赏
  • 举报
回复
楼主求教啊,说说原因啊
dy00002 2011-04-18
  • 打赏
  • 举报
回复
可以了,哎 真悲剧,。。。。。不小心。。。
dy00002 2011-04-18
  • 打赏
  • 举报
回复
楼上的大哥,我现在的问题是 post 方法提交不过去。。。
执行不到controller里对应的action ...

我把相同的代码放到demo里缺可以 唯一的差别就是一个是用户控件 一个不是

<form id = "form1" name = "form1" action="/Home/Index" method ="post" runat="server">
<label for="userid" style="width: 200px">Userid:</label>
<%= Html.TextBox("userid")%>

<img id="img_search" type="image" src="/images/IconSearch.png" onclick="javascript:fsubmit(document.form1)" style ="cursor:hand" />

</form>
这个就可以执行 index..
子夜__ 2011-04-18
  • 打赏
  • 举报
回复
dy00002 2011-04-18
  • 打赏
  • 举报
回复
都检查过了 没啥问题

关键是我还放到个DEMO里 是可以的。 只是DEMO里 不是一个 用户控件而已



<script type ="text/javascript">
function fsubmit(obj) {
document.write("111");
obj.submit();

}

function gettext() {
var spanTest = document.getElementById('sizeSpan');
var spanValue = spanTest.outerText;
}
</script>


<div class="searchBar">

<form id = "form1" name = "form1" action="/Result/Doquery" method ="post">

<input id="searchInput" type="text" value="Search" />
<div id="ddlBox">
<ul id="main_box">
<li class="select_box"><span id = "sizeSpan" onclick = "javascript:gettext()" >Categories</span>
<ul class="son_ul">
<li>Installation</li>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
</div>

<img id="img_search" type="image" src="/images/IconSearch.png" onclick="javascript:fsubmit(document.form1)" style = "cursor:hand"/>
<%-- <a href="/Result/Index"><img id="img_search" type="image" src="/images/IconSearch.png" onclick = "document.form1.submit()"/></a>--%>
</form>

</div>


[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Doquery()
{
//var rec = Request.Form["sizeSpan"].ToString();
return View();
}
AsheBin 2011-04-18
  • 打赏
  • 举报
回复
检查下三个地方:
1、Action是否允许以Post方式提交。
2、前台表单和后台方法参数对应的应该是表单控件的name属性,而不是id
3、确定提交的Action路径没错
dy00002 2011-04-18
  • 打赏
  • 举报
回复
自己再顶一下,还是解决不了。。。
dy00002 2011-04-18
  • 打赏
  • 举报
回复
自己顶上去

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧