[英]JS grabbing text from text-boxes, passing to asp.net mvc ActionResult but ActionResult parameters appear null
JS從文本框中獲取文本,傳遞給asp.net mvc ActionResult,但ActionResult參數顯示為null
我有2個文本框,由用戶選擇時由2個日期選擇器填充,但是當我使用下面的javascript將其傳遞給actionresult時,雖然信息可以正確地從文本框中獲取。 actionresult的參數顯示為空。
我該如何解決?
碼:
@Html.Label("Start", "Start Date:")
@Html.TextBox("Start", string.Empty, new {@id = "Start", @class = "datepicker"})
@Html.Label("endd", "End Date:")
@Html.TextBox("endd", string.Empty, new {@id = "End", @class = "datepicker"})
<input type="submit" value="Apply" id ="DateSelected" />
<script type="text/javascript">
$('.datepicker').datepicker();
$("#DateSelected").click(function () {
var startD = $('#Start').val().toString();
var endD = $('#End').val().toString();
$.ajax({
url: '/Docs/FirstDoc',
type: "Post",
data: { start: String.valueOf(startD), end: String.valueOf(endD) },
});
</script>
行動結果:
[HttpPost]
public ActionResult FirstDoc(string start, string end)
{
FirstDocModel firstDocModel = FirstDocHelper.RunFunction(start, end);
return PartialView(firstDocModel);
}
這就是我的意思-但首先,我個人還是覺得Ajax與MVC控制器的綁定有時很痛苦。 它很靈活,但是,如果有什么不合時宜的地方,您就會得到null-如您所知。 無論如何...
[HttpPost]
public ActionResult FirstDoc(MyObject inputObj)
{
//use inputObj here as needed
}
然后,您需要為MyObject定義-使其簡單
public class MyObject{
string start {get;set;}
string end {get;set;}
}
如果所有鴨子都排成一排,當然包括ajax一側的選項,則對象“應該”綁定。
您傳遞data
方式適用於type: 'get'
但不適用於post
。 嘗試這個:
data: JSON.stringify({ start: startD, end: endD }),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.