我看了几个类似的问题,但我无法让它工作。
我在表单中有一些单选按钮。我不想选择选项并单击提交按钮,而是希望在用户单击单选按钮时提交表单。
所以我隐藏了提交按钮并放置了一个模拟按钮点击的javascript函数(我也试图让它与按钮点击一起工作,但这似乎不是问题)。
在我看来,我有:
<script type="text/javascript" src="/Scripts/jquery-1.9.1/jquery-1.9.1.min.js" ></script>
<script type="text/javascript" src="/Scripts/jquery-1.9.1/jquery.unobtrusive-ajax.min.js"></script>
<script type="text/javascript">
function change() {
$('#buttonradio').click();
}
</script>
<h2>Dashboard</h2>
<div class="Dashboard" id="itemsDshBrd" style="overflow:auto;height:97%;">
<div id="DshBrdRadioGroup" style="float:right;font-size:small">
<% using (Ajax.BeginForm("Index", "DshBrd", new { value = 1 }, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "stations" })) { %>
<input class="radioclass" id="r1" name="radiogroup" type="radio" value="1" onclick="change()" checked/> A
<input class="radioclass" id="r2" name="radiogroup" type="radio" value="2" onclick="change()"/> B
<input class="radioclass" id="r3" name="radiogroup" type="radio" value="3" onclick="change()"/> C
<input class="radioclass" id="r4" name="radiogroup" type="radio" value="4" onclick="change()"/> D
<input id="buttonradio" type="submit" value="Submit" style="visibility:hidden"/>
<% } %>
</div>
<div id="stations">
<% Html.RenderPartial("~/Views/DshBrd/Stations.ascx"); %>
</div>
</div>
*我知道我正在发送 value = 1。
在我的控制器中,我有:
[HttpPost]
public ActionResult Index(int value)
{
if (Request.IsAjaxRequest())
{
return PartialView("~/Views/DshBrd/Stations.aspx");
}
return View("~/Views/DshBrd/Index.aspx");
}
哪里Request.IsAjaxRequest()
永远不真实。
我的 Web.Config 也可以:
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
有任何想法吗?