razor mvc尝试使用按钮单击来调用服务器方法

时间:2015-06-10 18:01:59

标签: javascript c# asp.net-mvc razor

某处?看过这个问过很多次,但解决方案不起作用..

上面的按钮定义是标准的。但是,这里要问的问题是如何在点击发生的任何地方调用任何方法?我可以使用标签作为链接;我想用一个按钮 答案是无论需要做什么: 一个按钮,当单击按钮时,可以调用其中一个控制器上的某些方法吗?

razor MVC网页。添加一个按钮,它会调用一个方法,可能会传递数据?所以在控制器中使用C#代码。

更新:问题太混乱,含糊不清,不够清楚。

将其放入details.cshtml页面。按钮单击现在调用控制器'索引'中的方法'test'。网页崩溃说不,没有没有Actionresult,也没有找到View控制器进行测试,查看/ Index / test(以及~10个其他文件位置)

这可能很有用,但目标是调用一些方法可以执行一些c#代码,修改网页内容然后返回并继续它的位置

现在发生了什么,不应该是按钮点击拉新网页。应该发生的是调用按钮点击方法,它是一个空的“返回”,页面只是继续它的位置。

添加了测试视图。现在?空白页

1 个答案:

答案 0 :(得分:0)

有几个样本可以解决这个问题,你真的应该提供更多细节。但除了这些提示之外,我强烈建议用简单的html思考而不是用WebForms术语思考,比如Button_Clicks。

当你在html中思考时,你可以提交 - 或者'发布' - 表单。正如您已经发现的那样,一个表单可以发布到一个操作。但是没有什么能阻止你在页面上创建几个表单。

这绝对不是最有说服力的解决方案,但它正是你所要求的,它会起作用:

<!-- button1 -->
@Html.BeginForm("Action1", "ControllerName", new { ... parameters ... }) {
    <button type="submit">Button1</button>
}

<!-- button2 -->
@Html.BeginForm("Action2", "ControllerName", new { ... parameters ... }) {
    <button type="submit">Button2</button>
}

随意重复它,你可以拥有你能想象到的最棒的按钮。如果你想创建一个AJAX调用而不是表单帖子,请查看Html.AjaxForm而不是Html.BeginForm。