2017-04-04 49 views
0

我想複選框的值傳遞給一個動作鏈接複選框ActionLink的

@Html.CheckBox("YesIwant", false) 

我嘗試這個動作鏈接:

@Html.ActionLink("Send", "ResponseUser", "ResponseCont", new { YesIwantValue= $('#YesIwant').val }) 

,但沒有機會

任何幫助嗎?

+0

的jQuery在服務器上的客戶端和asp.net的MVC運行運行。它的'val()'不''val' – Ramanlfc

回答

0

複選框的值被設置(點擊),JavaScript運行在客戶端,而操作鏈接被呈現在服務器端。換句話說,你不能這樣做,因爲這兩件事發生在完全不同的時間點。

你將不得不處理通過JavaScript,客戶端複選框的變化情況,並相應地更改鏈接的href:

$('#YesIwant').on('change', function() { 
    $('#MyLink').attr('href', newUrl); 
}); 

newUrl將鏈接的URL改變以反映新值爲YesIwant。儘管如此,你還是要編寫這個字符串。剃刀在這裏沒有幫助。

但是,更有可能的是,通過使用實際表單併發布覆選框值,而不是嘗試更改鏈接,可以更好地處理此問題。

0

你可以試試這個:

$('#YesIwant').on('change', function() { 
    location.href = '@Url.Action("ResponseUser", "ResponseCont")?YesIwantValue=' + $('#YesIwant').val(); 
});