asp.net将对象传递给ActionResult的最干净的方法



目前,我们的应用程序有很多ActionLinks,它们只向控制器传递一个id,在控制器中再次检索对象(在上一页上已经存在/已知)。有没有更干净的方法可以做到这一点,比如传递对象?由于我们的后端速度不太快,点击ActionLink后会弹出几秒钟加载。

我见过一些使用ajax发布对象的解决方案,但这似乎不是将js行粘贴到每个与弹出窗口结合使用的ActionLink下/处的最整洁的解决方案。

@Html.ActionLink()方法将生成一个指向给定Controller/Action的url链接。因此,它只能包含可以包含在链接url中的参数。因此,您无法在url上传递对象。

如果您需要传递对存储在服务器上的对象的引用,请尝试设置链接的参数,以提供对存储在该服务器上的该对象的引用(例如,有问题的菜单项的Id)。

ActionLink中的参数是通过集合设置的,该集合作为上面函数调用中的第三项传入。假设默认路由,这将给出一个看起来像/Admin/EditPage/?的地址?name=XXX,其中XXX是菜单项的值。标题如果你在这里包含了其他东西,比如itemId=menuitem。Id,然后它会将其作为查询字符串参数添加到生成的url中,然后作为该链接目标的操作可以访问该url。

相关内容

最新更新