說我有以下形式這在傳統的ASP:如何使用隱藏字段提交表單提交表單?
<form name="impdata" id="impdata" method="POST" action="http://www.bob.com/dologin.asp">
<input type="hidden" value="" id="txtName" name="txtName" />
</form>
我需要模擬提交在asp.net MVC3形式的行動,但我需要在提交之前修改隱藏的價值。是否有可能通過行動或其他方式做到這一點?
我有什麼那麼遠,
查看:
@using (Html.BeginForm("Impersonate", "Index", FormMethod.Post, new { id = "impersonateForm" }))
{
<input id="Impersonate" class="button" type="submit" value="Impersonate" action />
<input type="hidden" value="" id="txtName" name="txtName" />
}
控制器:
[HttpPost]
public ActionResult Impersonate(string txtName)
{
txtName = txtName + "this string needs to be modified and then submitted as a hidden field";
//Redirect won't work needs the hidden field
//return Redirect("http://www.bob.com/dologin.asp");
}
解決方案:
似乎是不容易從控制器做到這一點,所以我最終使用jQuery。該操作返回一個JsonResult。 喜歡的東西:
<button id="Impersonate" class="button" onclick="Impersonate()">Impersonate!</button>
<form name="impdata" id="impersonateForm" action="http://www.bob.com/dologin.asp">
<input type="hidden" value="" id="txtName" name="txtName" />
</form>
function Impersonate() {
$.ajax({
type: 'POST',
asynch: false,
url: '@Url.Action("Impersonate", "Index")',
data:
{
name: $('#txtName').val()
},
success: function (data) {
$('#txtName').val(data.Name);
$('#impersonateForm').submit();
}
});
似乎運作良好...
請問這種幫助ü? http://msdn.microsoft.com/en-us/library/debx8sh9.aspx – VJAI 2012-07-27 07:43:38
@Mark我想我會去上面的jQuery和ajax解決方案。似乎很難從控制器中完成。 – woggles 2012-07-27 10:54:41