在视图中我有这段代码:
<div class="row">
@Using (Html.BeginForm("myFn", "myCntl", FormMethod.Post))
@<div>
<input type="submit" value="Do" class="btn btn-primary" />
</div>
End Using
</div>
在控制器中这段代码:
Function myFn() As ActionResult
Return JavaScript("alert('hello')")
End FUnction
我没有在浏览器中看到警报,但它在窗口中打印出来 如何使代码可执行?
答案 0 :(得分:0)
JavascriptResult
仅在您从AJAX调用它时才有效。因此,您必须将代码更改为类似的内容。
@using (Ajax.BeginForm("myFn", "myCntl", new AjaxOptions() { HttpMethod="POST" }))
{
<div>
<input type="submit" value="Do" class="btn btn-primary" />
</div>
}
[HttpPost]
public ActionResult myFn()
{
return JavaScript("alert('hello')");
}
作为旁注,有更好的方法通过部分视图或客户端的简单JavaScript来处理这样的事情。 JavascriptResult
实际上是一种糟糕的模式。