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一侧的选项,则对象“应该”绑定。
在线测试系统ASP.NET MVC - javascript我能够按ID显示问题,但不知道如何为不同用户随机显示问题,并且每次用户登录新的随机组合时都会显示问题。有人可以指导吗?我的控制器:public ActionResult Index() { var question = Quiz.Instance.LoadQuiz(); return View(question); } [HttpPost] public A…
从ASP.NET MVC中的AngularJS控制器加载数据而无需加载整个页面 - javascript这是我的动作: [HttpPost, ValidateAntiForgeryToken] public ActionResult GetData() { //get data from DB and populate model with data return View("Data", model); } 该视图是: @model UI…
我可以在ID为键而不是ASP.NET MVC(C#)中的数组的情况下输出JSON吗 - javascript因此,在ASP.NET MVC中,我有一个Controller动作,如下所示:public JsonResult People() { var people = db.People.ToList(); return Json(people); } 并在退出时将返回如下内容:[ { "ID": 1, "Name": …
调试捆绑和版本化的javascript文件 - javascript我已经使用Bundleconfig.cs将我的JavaScript文件打包如下:bundles.Add(new ScriptBundle("~/bundles/resultscripts").Include( "~/Scripts/spectrum.js", "~/Scripts/notify.js"…
javascript popupwindow之后的行如何工作? - javascript好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…