Передача значения Textbox из представления в контроллер по нажатию кнопки без использования формы в ASP.NET MVC 4 - PullRequest
0 голосов
/ 18 января 2019

Я должен передать значение, введенное в моем текстовом поле, классу контроллера при нажатии кнопки подтверждения. Я не хочу использовать форму или у меня нет класса модели для этого поля. Как это может быть достигнуто? Ниже приведен пример кода для вашей справки

<table style="width:100%;">
<tr>
<td style="text-align:center;font-weight:bold;width:95%;">My header</td>
<td>
<select>
<option value="Choose">Select</option>
<option value="val1">val1</option>
<option value="val2">val2</option>
<option value="val3">val3</option>
</select>
</td>

<td>
<input type ="text" id="searchField" name="searchFieldText">
</td>
<td>
<input type="submit" style="color:black;background-color:rgb(216, 214, 208)" value="Search" onclick="location.href='@Url.Action("ExecuteSearch", "MyController",new { <!--I want to pass the textbox value as param here-->})'" />
</td>
<td style="text-align:right;width:10%;">@Html.ActionLink("LOGOUT", "logout")</td>
</tr>
</table> 

Спасибо заранее !!!

1 Ответ

0 голосов
/ 18 января 2019

Существуют различные варианты достижения того же. Вы можете воспользоваться помощью Jquery следующим образом:

<a href='@url.action("LOGOUT","logout")?someParameter=$('#searchField').val()' >Text for Link Name</a>

На уровне контроллера вы должны добавить строковый параметр в метод выхода из системы. Как:

Public ActionResult Logout(string someParameter)
{
  //your code
}

Использование AJAX

Ниже фрагмент кода будет работать с использованием вызова ajax

<div class="row">
    <table style="width:100%;">
        <tr>
            <td style="text-align:center;font-weight:bold;width:95%;">My header</td>
            <td>
                <select>
                    <option value="Choose">Select</option>
                    <option value="val1">val1</option>
                    <option value="val2">val2</option>
                    <option value="val3">val3</option>
                </select>
            </td>

            <td>
                <input type="text" id="searchField" name="searchFieldText"/>
            </td>
            <td>
                <input type="submit" style="color:black;background-color:rgb(216, 214, 208)" value="Search" onclick="submitClick()" />
            </td>
            <td style="text-align:right;width:10%;">@Html.ActionLink("LOGOUT", "logout")</td>
        </tr>
    </table>
</div>

<script>
   function submitClick()
    {
        $.ajax({
            url: "../MyController/ExecuteSearch?someParameter=" + $('#searchField').val(),
            type: "GET",
            success: function (data) {
                debugger;
              // your custom code
            }
        });
    }
</script>

Надеюсь, это поможет!

...