como enviar o formulário em asp e obter seus valores

Tenho um formulário com botões de rádio nele e um botão enviar que recarrega apenas a página e não enviar os dados do formulário...o que devo fazer em forma de ação ou método para que eu possa obter estes valores do botão de rádio

<form id="form2" name="form2" method="post" action="" runat="server">

    <br />

    <asp:Button ID="Button1" runat="server" Text="Button" />
</form>
Author: Booonz, 2012-04-28

2 answers

O seu código não parece ter nenhum controlo de radiobutton...

Amostras que mostram diferentes opções:

HTML

<form id="form1" runat="server">
 <div>
    <p>
        Name:
        <asp:TextBox ID="textbox1" runat="server" />
        <br />
        Coffee preference:
        <asp:RadioButtonList ID="CoffeeSelections" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
            <asp:ListItem>Latte</asp:ListItem>
            <asp:ListItem>Americano</asp:ListItem>
            <asp:ListItem>Capuccino</asp:ListItem>
            <asp:ListItem>Espresso</asp:ListItem>
        </asp:RadioButtonList>
        <br />
    </p>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
<div>
    <h1>
        Results</h1>
    <p>
        <asp:Label runat="server" ID="labelResults"></asp:Label></p>
</div>
</form>

Código:

//You can inspect on Page_Load
protected void Page_Load(object sender, EventArgs e)
{
    //Only inspect on submission
    if (Page.IsPostBack)
    {
        if (!string.IsNullOrEmpty(CoffeeSelections.SelectedValue))
        {
            labelResults.Text = CoffeeSelections.SelectedValue + "<br />";
        }

        //you can also inspect request.form colletion
        foreach (string item in Request.Form)
        {
            labelResults.Text += "<b>KEY</b> : " + item + " <b>VALUE</b> = " + Request.Form[item] + "<br />";
        }
    }
}

//You can also inspect on raised control events (e.g. button)
protected void Button1_Click(object sender, EventArgs e)
{
    string _foo = CoffeeSelections.SelectedValue;
    labelResults.Text += _foo;

}
 4
Author: EdSF, 2012-04-29 04:18:29

ASP.NET o formulário Web tenta dar-lhe a ilusão de que você está trabalhando com algo como uma aplicação do formulário do Windows. Se você vem de um fundo Html, você precisa de alguma aclimatação.

Embora a ASP.NET "FORM" significa com as mesmas quatro letras, é diferente do Html padrão . Por padrão, o Button1 é não o botão enviar em um Html padrão . Você pode ter vários controles de botões em um ASP.NET forma. Cada botão de controle tem que ser amarrado para um manipulador de eventos onClick, A la Forma de janelas, e você coloca o seu código neste manipulador de eventos.

Duplo-click Button1 na página ASPX Design e um evento Button1_ Cllick será gerado para si no código atrás da página. Ponha o seu código neste controlador de eventos.

ASP.NET em seguida, gera algum resultado Html para fazer do seu Button1 um controlo Html com um programa onClick (não confundir com o seu manipulador de eventos Button1_ Cllick) para postar de volta para o servidor com os parâmetros da forma que incluem um gigante chamado _ _ VIEWSTATE. O servidor então usa _ _ VIEWSTATE para determinar que você está no manipulador de eventos Button1_Click e prossegue para executar o código lá.

O mesmo se aplica aos botões de rádio. ASP.NET irá gerar a partir de seus botões de rádio, mas você não precisa (ou não deve) se preocupar com isso. No seu manipulador de eventos Button1_ Cllick, poderá ler as propriedades do seu ASP.NET botão de rádio controlo.

Com ASP.NET, basicamente você não deve saber e desistir do controle da saída Html que é gerada. Você deve trabalhar apenas com os objetos visíveis no servidor (Código atrás). nem sequer gera em excepto para o mais simples ASP.NET page.

 2
Author: Old Geezer, 2012-04-28 15:09:02