html method = получить не передавая значения на следующую страницу aspx - PullRequest
0 голосов
/ 02 июля 2010

У меня есть простая HTML-страница с 3 текстовыми полями.

<form id="form1" method=get action="http://mysite.com/default.aspx" runat="server">
    <div>
        <input id="name" type="text" value="Amy" />
        <input id="email" type="text"  value="amy@jf.com"/>
        <input id="phone" type="text" value="2125552512" />
    </div>
    <input id="Submit1" type="submit" value="submit" />
</form>

Теперь, когда он загружает default.aspx, у меня есть этот код в базе данных vb на page_load.

Dim tbName As TextBox = Page.FindControl("Name")
Dim tbPhone As TextBox = Page.FindControl("Phone")
Dim tbEmail As TextBox = Page.FindControl("Email")
If page.request("name") & "" <> "" AndAlso tbname IsNot Nothing Then
    tbname.text = page.request("name") 
End If
If page.request("email") & "" <> "" AndAlso tbEmail IsNot Nothing Then
    tbEmail.text = page.request("email") & ""
end If
If page.request("phone") & "" <> "" AndAlso tbphone IsNot Nothing Then
    tbPhone.text = page.request("phone") & ""
End If

Страница загружается, но эти текстовые поля пусты. что я делаю не так?

Ответы [ 2 ]

1 голос
/ 02 июля 2010

Если вы хотите иметь доступ к этим элементам управления на стороне сервера, вам нужно добавить атрибут runat="server" к каждому из них.

Кроме того, тип TextBox, на который вы ссылаетесь, этоЭлемент управления ASP.NET, который вы не используете.То, что вы будете использовать, после добавления тегов runat="server" будет HtmlInputText.

Вы можете использовать тип TextBox, используя элемент управления TextBox ASP.NET вместоэлементы <input>:

<asp:TextBox ID="name" runat="server" Value="Amy" />

Если вся ваша страница ASP.NET обрабатывает запрос из формы, то нет необходимости ссылаться на какое-либо текстовое поле или элементы управления вводом - это будет невозможнотак как они не существуют как элементы управления ASP.NET.Все, что вам нужно сделать, это прочитать значения из Request.QueryString.

Если цель состоит в том, чтобы входы были видимыми и / или редактируемыми после того, как они находятся на странице ASP.NET, я рекомендую переместитьHTML-форму на страницу ASP.NET.

0 голосов
/ 02 июля 2010

Веб-форма не так функционирует.

Во-первых, ваши данные в форме должны быть серверными: ex <<code>asp:TextBox runat="server" id="name" Text="value" />

Тогда в вашем файле codebehind вам не нужно проходить через Page.FindControl("YourInput"), а только this.YourInput.Text

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