【发布时间】:2014-01-16 23:56:44
【问题描述】:
所以我的控制器里有这个方法
[HttpPost]
public ActionResult Summary(string id, Summary model)
{
int projectID;
if (Int32.TryParse(id, out projectID))
{
switch (Request["PageType"])
{
case "Results":
model = new Summary(SummaryType.SCS, GetSCSData(projectID, Request["Names"], true), projectID, SCSView.ResultsPage);
break;
case "Recipients":
model = new Summary(SummaryType.SCS, GetProjectData(projectID, Request["Names"]), projectID)
{
Names = Request["Names"],
HTMLAttachment = ParseBool(Request["HTMLAttachment"])
};
break;
default:
model = new Summary();
break;
}
}
并且想知道Request["Names"] 来自哪里。我知道这是我的 Http 请求调用中的请求对象。但它是如何构建和发送的?我知道这与我的观点有关,看起来像这样
using (Html.BeginForm(Summary, "Mycontroller", FormMethod.Post, new { id = "gridForm" }))
{
@(Html.Kendo().Grid(Model.scsGridList) ... kendo stuff
<input id="gridPage" name="PageType" type="hidden" value="" />
<input id="gridProjectID" name="ProjectID" type="hidden" value="@Model.ProjectID" />
<input id="gridJobs" name="Jobs" type="hidden" value="" />
<input id="gridHTMLAttach" name="HTMLAttachment" type="hidden" value="true" />
<div style="width: 100%; padding-top:5px;">
<a id="email" href="#"><span class="ui-icon ui-icon-mail-closed linkicon"></span>Email</a>
</div>
在我的 javascript 中是这样的
$("#email").on("click", function (e) {
SendTo("Recipients");
});
function SendTo(pageType){
var values = GetSelectedValues();
if(values){
$("#gridPage").val(pageType);
$("#gridJobs").val(values);
$("#gridForm").submit();
} else {
$("#gridMessage").html("Please select a job.");
}
}
我只是对如何用Request["HTMLAttachment"] 和Request["Names"] 等数据填充Request 对象感到困惑。它知道映射到模型吗?我说得有道理吗?
【问题讨论】:
标签: javascript jquery asp.net-mvc forms httprequest