gpt4 book ai didi

jquery - 使用 javascript 调用操作并导致回发

转载 作者:行者123 更新时间:2023-12-01 04:21:26 25 4
gpt4 key购买 nike

我需要使用 JavaScript 方法调用一个操作。也就是说,我有一个带有链接的页面,如下所示,

      <a href="javascript:Sort();" >Click Me to Go</a>

并且我需要在单击此按钮时调用一个将返回 View 的操作,并且我希望发生回发。

下面是我发现有效的方法,但我不确定这是否是正确的方法,有没有办法使用 $post、$ajax 或 $json 来做到这一点?

这是因为我也需要将值传递给操作。

 function Sort() {
location.href='@Url.Action("ActioName")';
}

最佳答案

我假设由于您没有在 Url.Action(...) 中提供路由值,因此您想要发布到操作的数据是由客户端上的用户设置的?

如果是这样,一种非常简单的方法是使用一个带有隐藏字段的表单(或者如果您想要直接用户交互,则可能是可见的),然后在排序上设置这些字段,然后提交表单。

例如:

<form id='sortform' action='@Url.Action("ActionName")' method='POST'>
<input type='hidden' name='MyFirstSortValue'>
<input type='hidden' name='MySecondSortValue'>
</form>

还有:

function Sort() {
var formElem = document.getElementById('sortform');
formElem.MyFirstSortValue.value = "blah";
formElem.MySecondSortValue.value = "blah";
formElem.submit();
}

如果您只是让用户选择排序信息,那么我建议让表单输入可见并直接使用它们,而不是在调用 Sort 时间接设置它们。

完成上述操作后,您可以使用 FormCollection 通过 Controller 访问信息。例如:

[HttpPost]
public ActionResult ActionName(FormCollection form)
{
string myFirstSortValue = form["MyFirstSortValue"];
string mySecondSortValue = form["MySecondSortValue"];

// Do something to sort the data in the model...

return View(yourModel);

}

这将导致在传输数据的同时进行回发,并显示所需的 View 。

关于jquery - 使用 javascript 调用操作并导致回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10118925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com