2010-11-11 2 views
1

Каков наилучший способ передать переменную из события OnClick. Чтобы уточнить, я хотел бы привязать некоторые данные к кнопке, а затем, когда эта кнопка нажата, я хотел бы передать эти данные обратно в код и сделать что-то классное с ним.Передача переменных с событием OnClick

Я нашел несколько способов сделать это, передав командуParamter, добавив тег кнопки и использую это. Интересно, что считается лучшей практикой для этой проблемы? Также я рассматриваю проблему неправильно? Должен ли я не пытаться передать переменную по клику, а сделать что-то еще?

разметки

<asp:button text="test" id="btnTest" runat="server"/> 

отделенного кода

Protected Sub btnTest_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnTest.Click 
    'do something cool 
End Sub 

ответ

0

Это не звучит, как вы на самом деле «проходит» переменную события нажатия кнопки. Вы просто (и правильно) ссылаетесь на текущее значение в текстовом поле, обратившись к test.Text. Например, если у вас есть ярлык на вашей форме с именем resultLabel:

Protected Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click 
    If test.Text.Trim() = String.Empty Then 
     resultLabel.Text = "Please enter a value!" 
    Else 
     resultLabel.Text = test.Text 
    End If 
End Sub 

Конечно реально вы использовали бы RequiredFieldValidator или иметь лучший способ отображения ошибок пользователя вместо повторного использования такого же ярлыка.

Этот подход в порядке. Когда вы знакомы с этим стилем, вы можете выбрать модель Model-View-Presenter (MVP). Хороший проект для просмотра - ASP.NET Web Forms MVP. В качестве альтернативы, Microsoft предлагает другой вкус ASP.NET, а именно: ASP.NET MVC (Model-View-Controller).

Смежные вопросы