2017-04-24 64 views
-1

我的cshtml文件中有一個局部變量,我想根據從兩個單選按鈕中選擇的值進行設置。我不想將變量添加到我的視圖模型中。剃刀單選按鈕變量

@{ var boolValue = true; } 
<div> 
    @Html.RadioButtonFor(x => boolValue, true, new { @class = "pull-left "})<label class="pull-left">list 1</label> 
    @Html.RadioButtonFor(x => boolValue, false, new { @class = "pull-left"})<label class="pull-left">list 2</label> 
</div> 

boolValue這點之後始終是真實的,而我給予警告,告訴我,「表情總是真」。我肯定應該是一件簡單的事情,但我真的找不到在別處做過這個事情的例子。

+0

'boolValue'是服務器端代碼。除非您將值發送回服務器,否則您不能通過選擇單選按鈕來更改它。 _我不想將變量添加到我的視圖模型中。這根本沒有意義。視圖模型的目的是表示視圖中您想要的內容! –

回答

0

您也可以使用隱藏字段。 請查看下面的示例

@{ var boolValue = true; } 
<div> 
    @Html.HiddenFor(x => boolValue); 
    @Html.RadioButtonFor(x => boolValue, "true", new { @class = "pull-left ", onclick = "GetSelectedItem(this);" })<label class="pull-left">list 1</label> 
    @Html.RadioButtonFor(x => boolValue, "false", new { @class = "pull-left", onclick = "GetSelectedItem(this);" })<label class="pull-left">list 2</label> 

</div> 


<script type="text/javascript"> 
    function GetSelectedItem(s){ 
     document.getElementById("boolValue").value = s.value; 
    } 


</script>