Как проверить состояние здесь - PullRequest
0 голосов
/ 04 августа 2010
<script type="text/javascript">
     $('#TextEdit').click(function () {
         $('#ObnAdd').val('Save');
     });
    </script>
    <% using (Html.BeginForm("Create", "ObnTextComponents",FormMethod.Post,new {@id = "TheForm"}))
       {%>

Мне нужно проверить условие, если мой текст кнопки «ObnAdd» имеет значение «Добавить», необходимо создать Create ActionResult

если текст кнопки «Сохранить», мне нужно перейти Сохранить ActionResult ..

как проверить это условие в BeginForm?

спасибо

Ответы [ 2 ]

2 голосов
/ 04 августа 2010

Из ваших комментариев кажется, что лучше проверить значение кнопки на стороне Контроллер . Поскольку вы не можете изменить свой aspx-код после загрузки страницы.

Итак, в вашем контроллере должно быть что-то вроде этого (убедитесь, что ваш ObnAdd имеет имя = ObnAdd):

public ActionResult SaveCreate(FormCollection form, string ObnAdd)
{
    if (ObnAdd == "Save")
    {
        //Do save
    }
    else if (ObnAdd == "Create")
    {
        //Do create
    }

    //here return RedirectToAction or whatever
    return RedirectToAction("Index");
}

И ваш HTML:

<% using (Html.BeginForm("SaveCreate", "ObnTextComponents",FormMethod.Post,new {@id = "TheForm"}))
       {%>
1 голос
/ 04 августа 2010

ASP выполняется на стороне сервера перед загрузкой страницы и не имеет доступа к DOM.В то время как javascript выполняется на стороне клиента во время и после загрузки страницы.

Поскольку изменение текста кнопки выполняется в javascript (после всех запусков asp), кнопка всегда будет иметь одинаковое значение во время загрузки страницы, поэтому ветвьненужным.Также обратите внимание, что asp не может получить доступ к домену страницы, которую он создает, чтобы проверить подобные вещи.Вам нужно будет либо включить библиотеку, которая формирует дерево dom для вас, либо использовать стандартные текстовые операторы для проверки значения, которое вы ищете (например, регулярное выражение).

Простое решение того, что я думаю, вы 'здесь будет поддерживаться скрытый ввод в форму, которая также обновляется при обновлении кнопки.Затем вы можете воспользоваться кнопкой «Отправить», и страница, обрабатывающая форму, может принять необходимые решения со всей доступной информацией.

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