【发布时间】:2014-04-16 10:12:20
【问题描述】:
在我的 ASP.NET 项目中,我有一个分部类,其中有三个单选按钮。
我有以下详细信息的部分视图,
_PartialTEST.cshtml
@model FreeLance.Web.Models.PArtialTESTModel
@Html.RadioButtonFor(m => m.D1, "true", new { Name = "test1", @id = "g1", @checked = "true" }) @Html.LabelFor(m => m.MSGD1, @Model.V1)
@Html.RadioButtonFor(m => m.D2, "false", new { Name = "test1", @id = "g2" }) @Html.LabelFor(m => m.MSGD2, @Model.V1)
@Html.RadioButtonFor(m => m.D3, "false", new { Name = "test1", @id = "g3" }) @Html.LabelFor(m => m.MSGD3, @Model.V1)
在另一个视图中使用,
MainTEST.cshtml
<div id="partialDIV">
@{
@Html.Partial("_PartialTEST", Model)
}
</div>
我正在使用 AJAX 重新加载 div 的内容,以便使用新值更新单选按钮
$.ajax({
type: "POST",
url: href,
traditional: true,
async: false,
datatype: "html",
cache: false,
contentType: 'application/json',
data: { DID: DID },
success: function (data) {
$('#partialDIV').empty();
$('#partialDIV').html(data);
},
error: function (arg, data, value) {
}
});
它从后面的代码中调用以下代码。
[HttpPost]
public ActionResult GETRADIOVALUES(string CID)
{
TESTModel NewModel = new TESTModel();
....
return PartialView("_DurationDetails",NewModel);
}
现在它使用新值正确加载单选按钮。
但真正的问题是调用任何 Jquery 事件。
例如
$('#g1').change(function() {
});
甚至,
$("input[name=test1]:radio").change(function () {
});
请帮助我为什么这些 Jquery 事件没有触发,尽管 ID 在 View Source 中也可用。
【问题讨论】:
-
你的ajax函数有一些不应该存在的东西,比如
dataType:html然后contentType:"application/json"。 -
亲爱的 Jai,我不确定您是否对此投了反对票?请调查一下这个问题,显然我错过了数据类型Question
-
不,我没有否决这个问题。
-
没关系,我可以知道你为什么告诉这两个选项不是必需的。
-
我没有提到要删除它们,但你必须只携带所需的一个,所以在你的情况下你可以省略 contentType:json。
标签: javascript jquery ajax asp.net-mvc