我建立一個ASP.NET MVC web應用,並有一個問題:從JavaScript將數據發送到服務器
說,我有一個強類型的視圖,擊中時提交對象(屬於強類型)將被填充併發送到服務器。
現在說,強類型的屬性之一沒有在窗體中使用,而是我需要設置此JavaScript如果用戶按下按鈕(不提交按鈕)。
我該怎麼做?
我建立一個ASP.NET MVC web應用,並有一個問題:從JavaScript將數據發送到服務器
說,我有一個強類型的視圖,擊中時提交對象(屬於強類型)將被填充併發送到服務器。
現在說,強類型的屬性之一沒有在窗體中使用,而是我需要設置此JavaScript如果用戶按下按鈕(不提交按鈕)。
我該怎麼做?
據我所知,當按鈕被按下時,你想給屬性賦值?
添加它作爲一個隱藏的輸入(示例使用Razor視圖引擎):
@Html.HiddenFor(model => model.TheProperty)
創建一個小的jquery腳本:
<script type="text/javascript">
$('document').ready(function(){
// this is the id of the button that the user presses.
// It must have a "ID" attribute
$('#someButtonId').click(function() {
$('#TheProperty').val('Value to set');
});
});
});
</script>
您可以使用AJAX通過javascript向服務器發送請求。 jQuery有很好的方法,例如$.ajax
,$.post
,$.get
。例如:
$(function() {
$('#someButtonId').click(function() {
// when some button is clicked send an AJAX request:
$.ajax({
url: '/home/someaction',
data: { someField: 'some value to send' },
success: function(result) {
alert('value successfully sent to server');
}
});
});
});
對不起,我是maby不清楚。問題不在於使用javascript提交,而是在提交完成時將對象返回給服務器的屬性。 – Banshee 2011-01-12 08:31:48
這看起來格柵,我會試試這個,讓你知道它是否有效。 – Banshee 2011-01-12 08:28:02