【问题标题】:Call an Action Method From View从视图调用操作方法
【发布时间】:2013-12-05 15:04:46
【问题描述】:

这里是动作方法

[HttpGet]
[ViewException]
[UserFilter(OpUserAuthType.Admin, OpUserAuthType.Normal)]
public ActionResult YorumEkle(string id, string pid)
{
    .....
}

它有一个视图。但是从另一个角度来看,我希望通过 onclick 事件或要单击的任何内容调用该操作方法。例如:

<a href="" onclick="">Call YorumEkle Method</a>

【问题讨论】:

    标签: asp.net-mvc model-view-controller view


    【解决方案1】:

    像这样使用 ActionLink HtmlHelper...

    @Html.ActionLink("Call YorumEkle Method", "YorumEkle", new {@id = "hello", @pid="yarg!"}, null))
    

    它会生成你需要的链接。

    【讨论】:

    • 它没有用。控制器文件夹中名为 CvAramaController 的控制器中的操作方法“YorumEkle”。我调用操作方法的视图位于 Views/Cikti/Sablon 下。你认为这可能会导致问题。顺便说一句,控制器有同名的 Post Action 方法。
    • 如果动作在不同的控制器中,那么您需要指定使用不同的 ActionLink 重载。 @Html.ActionLink("Call YorumEkle Method", "YorumEkle", "CvArama", new { @id = "hello", @pid = "yarg!" }, null))
    【解决方案2】:

    我无法发表评论,但在 Cj 的回答之上,您还可以指定操作在哪个控制器上:

    @Html.ActionLink("Link Text", "Action Name","Controller", new {@id = "hello", @pid="yarg!"}, null)
    

    你的情况

     @Html.ActionLink("Link Text", "YorumEkle","CvAramaController", new {@id = "hello", @pid="yarg!"}, null)
    

    【讨论】:

    • 这是来自 Global.asax: new { controller = "CvArama", action = "Index", id = UrlParameter.Optional, pid = UrlParameter.Optional }); routes.MapRoute("CvArama", "cv-arama/{action}/{id}/{pid}"。你认为这会让事情走向错误的方向吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    相关资源
    最近更新 更多