3

看法:

@using (@Html.BeginForm("Show", "test", FormMethod.Post))
{

    <fieldset>

        <table >
            <tr>
                <td>
                    @Html.LabelFor(model=> model.Show)
                </td>

                <td>
                 @Html.TextBox("txtvalue", null)

                </td>
            </tr>


        </table>


             <input type="button" value="Show" onclick = "@("location.href='"+ @Url.Action("Show", "test")+"'" )" />

           <input type="button" value="Go" onclick ="@("location.href='"+ @Url.Action("Go", "test")+"'" )"/>




    </fieldset>
}

和控制器中的两个动作方法,

public ActionResult Show(string txtvalue)
{
    ...
} 

public ActionResult Go(string txtvalue)
{
    ...
} 

根据单击的按钮,它应该转到相应的操作方法并传递文本框的值。

任何人都可以建议我这样做的方法。我转过头来想不通。

4

3 回答 3

1

尝试这个,

<input type="button" value="Show" onclick = "location.href='@Url.Action("Show", "Foo")'"/>
<input type="button" value="Go" onclick = "location.href='@Url.Action("Go", "Foo")'"/>

更新:

由于type="button"不提交表单中的值,因此无法直接执行您所要求的操作,更好的方法是识别控制器方法中已单击的按钮,如此链接所示

于 2013-10-09T12:55:27.893 回答
0

尝试类似:

<input type="button" value="Show" onclick="location.href='<%:Url.Action("Show", "ControllerName")%>'"/>


<input type="button" value="Go" onclick="location.href='<%:Url.Action("Go", "ControllerName")%>'"/>

如果您要发布更多表单数据,您可以使用 Ajax,请参阅在 asp.net mvc 中对控制器进行简单的 Ajax 调用

于 2013-10-09T13:01:08.407 回答
0

尝试这个

<input type="button" value="Show" onclick="location.href='<%: Url.Action("Show", "Controller") %>'" />

<input type="button" value="Go" onclick="location.href='<%: Url.Action("Go", "Controller") %>'" />
于 2013-10-09T13:01:49.723 回答