Asp.net 使用jquery在MVC中更改视图中元素的值

Asp.net 使用jquery在MVC中更改视图中元素的值,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有一个标签 @Html.Label("GetCheckboxDetail", new { @style = "display:none" , id = "CheckboxDetailFlag" , name = "GetCheckboxDetail" }) 在javascript中,我试图改变它 $(".LRequiredClass").live("click", function (event) { if ($(".LRequiredClass").is(":checked"))

我有一个标签

@Html.Label("GetCheckboxDetail", new { @style = "display:none" , id = "CheckboxDetailFlag" , name = "GetCheckboxDetail" }) 
在javascript中,我试图改变它

$(".LRequiredClass").live("click", function (event) {
    if ($(".LRequiredClass").is(":checked")) {
        $("#CheckboxDetailFlag").val("LRequired True"); 
        }
        else {
        $("#CheckboxDetailFlag").val("LRequired False"); 
        }
});
在控制器
请求[“GetCheckboxDetail”]
中,即使在标签中更改了值,也会返回null,请使用
.text()
而不是
.val()
。您可以更改标签的文本值,因此请使用
text()

实际上代码是

if ($(".LRequiredClass").is(":checked")) {
    $("#CheckboxDetailFlag").text("LRequired True"); 
    }
    else {
    $("#CheckboxDetailFlag").text("LRequired False"); 
    }
我发现了这个问题

我做了以下更改

查看

@Html.Text("GetCheckboxDetail", new { @style = "display:none" , id = "CheckboxDetailFlag" , name = "GetCheckboxDetail" })

Javascript和控制器代码保持不变,控制器能够从textbox获取数据。

您使用的是什么jquery版本?1.8.3,如果我在那里发出警报,它会出现,但值没有改变标签不应该是
.text()
?标签没有值-它需要是
$(“#CheckboxDetailFlag”)。text(…)
你到底为什么要给它命名属性一个抱歉的文本更改了值,我无法在控制器中得到它只需使用
@Html.Hidden(“GetCheckboxDetail”)
并将脚本更改为
$(“#GetCheckboxDetail”).val(…)
(或者更好的
@Html.HiddenFor(m=>m.GetCheckboxDetail)
假设其为模型属性)
@Html.Text("GetCheckboxDetail", new { @style = "display:none" , id = "CheckboxDetailFlag" , name = "GetCheckboxDetail" })