Передача текстового поля из представления в кнопки

Вид:

@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)
{
    ...
} 

на котором была нажата кнопка, она должна перейти к соответствующему методу действия и передать значение текстового поля.

Может ли кто-нибудь предложить мне способ сделать это. Я обнимаю голову, не мог понять.

Ответ 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")'"/>

UPDATE:

Поскольку type="button" не отправляет значения в форме, его невозможно напрямую выполнить то, что вы просили, лучшая идея заключается в определении кнопки, которая была нажата в методе контроллера, как показано в эта ссылка

Ответ 2

Попробуйте что-то вроде:

<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, см. Создание простого вызова Ajax для контроллера в asp.net mvc

Ответ 3

Попробуйте это

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

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