我有一个简单的提交输入:
@using (Html.BeginForm())
{
<input type="submit" value="Save" id="SaveButton" class="btn" />
}
现在我想让这个按钮也成为一个热门链接。当我点击它时,我想转到“X”动作。
我尝试过:
onclick="location.href='@Url.Action("Index", "Student")'"
但它只提交更改,并刷新实际页面。 如果输入在@using(...)之外,则重定向有效,但这当然对我没有帮助。
答案 0 :(得分:1)
我要做的是使用JavaScript提交表单:
在表单声明中添加一个onsubmit事件处理程序
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new
{
onsubmit = "javascript:onFormSubmit(this); return false;"
}))
{
<!-- your form -->
}
然后onsunmit javascript函数提交如下表单:
function onFormSubmit(form)
{
var data = new FormData($(form)[0]);
if ($(form).valid())
{
$.ajax({
url: $(form).attr('action'),
cache: false,
processData: false,
contentType: false,
data: data,
type: 'POST',
error: function(jqXHR, textStatus, errorThrown)
{
throw new Error('Cannot get action');
}
}).done(function(view)
{
// redirect here....
});
}
}
如果您不想这样做,请在您的“索引操作”中而不是返回“视图”执行此操作:
return Redirect("http://www.google.com");// or any url you want
另一种方法是重定向到不同的Action,如下所示:
return RedirectToAction("RedirectAction");
然后在控制器中添加另一个名为&#34; RedirectAction&#34;。
的操作public ActionResult RedirectAction()
{
// Do some stuff
return Redirect("http://www.google.com");// or any url you want
}
希望这有帮助。