Asp.net mvc asp.net mvc actionlink在FF中显示地址,无法使按钮运行

Asp.net mvc asp.net mvc actionlink在FF中显示地址,无法使按钮运行,asp.net-mvc,firefox,Asp.net Mvc,Firefox,我目前正在学习ASP MVC,遇到了一些问题 首先,当我使用 <%=Http.ActionLink("Add / Modify", "AddModify" %> 我仍然无法调用该函数,但当我调用时,函数调用和我可以访问该页面。我这样做是因为在重定向到该页面之前,可能需要执行一些代码,而不仅仅是直接链接到该页面。我尝试过使用和不使用ActionVerbs行,我尝试过这种形式的Html表单: <% using (Html.BeginForm()) { %> ... <

我目前正在学习ASP MVC,遇到了一些问题

首先,当我使用

<%=Http.ActionLink("Add / Modify", "AddModify" %>
我仍然无法调用该函数,但当我调用时,函数调用和我可以访问该页面。我这样做是因为在重定向到该页面之前,可能需要执行一些代码,而不仅仅是直接链接到该页面。我尝试过使用和不使用ActionVerbs行,我尝试过这种形式的Html表单:

<% using (Html.BeginForm()) { %> ... <%}%>
。。。

还是什么都没有。我也没有尝试过任何表单,也没有尝试过任何表单,但这里有一些东西可能会影响这一点……我使用的母版页中的所有内容都位于使用runat=“server”的表单中的内容占位符中。那有关系吗?所以它的母版页->表单(在服务器上运行的母版表单)->内容占位符->表单(用于回发和操作)->提交按钮。任何帮助都将不胜感激。

如果我的想法正确,您的表单操作应该调用操作方法的名称:

<form method="post" action="/Home/AddModify">
    <input type="submit" value="AddModify">
</form>

ActionLink
也是这样


否则,默认情况下,您需要修改路由以转到该操作方法。

如果我的想法正确,您的表单操作应该调用操作方法的名称:

<form method="post" action="/Home/AddModify">
    <input type="submit" value="AddModify">
</form>

ActionLink
也是这样

否则,默认情况下,您需要修改路由以转到该操作方法

将创建一个href为
/Home
的表单,仅当
AddModify
操作是该路由上的默认操作时,才会调用
AddModify
操作


将创建一个href为
/Home
的表单,如果
AddModify
操作是该路由上的默认操作,则此操作将只调用
AddModify
操作。

让我们分两部分来完成此操作

我认为你的ActionLink应该是:

<%=Http.ActionLink("Add / Modify", "AddModify", "Home") 
/编辑

编辑: 我想你是想直接接受另一个行动。最好的方法是在代码中处理POST方法,然后重定向到另一个操作。这样,您就可以使用

<% using (Html.BeginForm()) { %>


没有问题。

让我们分两部分来做

我认为你的ActionLink应该是:

<%=Http.ActionLink("Add / Modify", "AddModify", "Home") 
/编辑

编辑: 我想你是想直接接受另一个行动。最好的方法是在代码中处理POST方法,然后重定向到另一个操作。这样,您就可以使用

<% using (Html.BeginForm()) { %>


没有问题。

请重新处理第一个问题,不清楚是关于浏览器中的显示还是您的视图创建的HTML。请重新处理第一个问题,不清楚是关于浏览器中的显示还是视图创建的HTML。然后,您需要修改路由以默认指向该操作方法。然后,您需要修改路由以默认指向该操作方法。谢谢,但我无法从控制器访问“ModifyBtn”。另外,这难道没有挫败让每个控件调用自己函数的全部目的吗?这似乎是违反直觉的。这是。。。但是我能说什么呢?我很难习惯在MVC中处理代码流。谢谢。这似乎奏效了。现在,如果我想用图像来代替呢?这可能吗?N/m,我已经用am图像处理过了,但是firefox的问题仍然存在。我似乎无法在我的FF中复制这个问题。在这两种情况下,它都显示正确的文本和正确的链接。文本为“添加/修改”,链接为“localhost/Home/AddModify.aspx”,这是它通常会做的。谢谢,但我无法从控制器访问“ModifyBtn”。另外,这难道没有挫败让每个控件调用自己函数的全部目的吗?这似乎是违反直觉的。这是。。。但是我能说什么呢?我很难习惯在MVC中处理代码流。谢谢。这似乎奏效了。现在,如果我想用图像来代替呢?这可能吗?N/m,我已经用am图像处理过了,但是firefox的问题仍然存在。我似乎无法在我的FF中复制这个问题。在这两种情况下,它都显示正确的文本和正确的链接。文本是“Add/Modify”,链接是“localhost/Home/AddModify.aspx”,这是它通常要做的。
[ActionVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection form, string ModifyBtn, string OtherBtn)
{
   if (ModifyBtn!=null)
   {
      //do stuff
      return RedirectToAction("AddModify");
   }

   if (OtherBtn!=null)
   {
      //do stuff
      return RedirectToAction("OtherAction");
   }

return View();
}
<% using (Html.BeginForm()) { %>