如何将输入单选值输入 C#

Posted

技术标签:

【中文标题】如何将输入单选值输入 C#【英文标题】:How can i get input radio value to C# 【发布时间】:2017-09-09 18:47:00 【问题描述】:

你能告诉我有什么不好吗?我只需要检查按钮选择语言就可以在下一个网站上继续。

HTML

<asp:Content ID="BodyContent" ContentPlaceHolderID="BodySite" runat="server">
<h1>Výběr jazyka:</h1>
<p>Choose language | Sprachauswahl</p>
<form method="post" action="index.aspx">
<div class="checkbox-test">
    <table style="border-spacing: 5px; border-collapse: separate;">
        <tr>
            <td>
                <input type="radio" name="check_lang" id="check_cz" class="css-checkbox" value="cz" />
                <label for="check_cz" class="css-label"><img src="http://terquil.cz/images/cz.png" class="img-flag"  /></label>
            </td>
            <td><h2>CZ</h2></td>
        </tr>
        <tr>
            <td>
                <input type="radio" name="check_lang" id="check_en" class="css-checkbox" value="en" />
                <label for="check_en" class="css-label"><img src="http://terquil.cz/images/uk.png" class="img-flag"  /></label>

            </td>
            <td><h2>EN</h2></td>
        </tr>
        <tr>
            <td>
                <input type="radio" name="check_lang" id="check_de" class="css-checkbox" value="de" />
                <label for="check_de" class="css-label"><img src="http://terquil.cz/images/de.png" class="img-flag"  /></label>
            </td>
            <td><h2>DE</h2></td>
        </tr>
    </table> 
</div>
<input Type="submit" id="language_btn" VALUE="Pokračovat | Continue | Andere" >
</form>

C#(我试过了,但没用)

protected void submit(object sender, EventArgs e)

    string cz = "cz";
    string de = "de";
    string en = "en";

    if (Request.Form["check_lang"] != null)
    
        string selectLanguage = Request.Form["check_lang"].ToString();

        if (selectLanguage == cz)
            Response.Redirect("http://terquil.cz/cs/index.aspx");
        if (selectLanguage == en)
            Response.Redirect("http://terquil.cz/en/index.aspx");
        if (selectLanguage == de)
            Response.Redirect("http://terquil.cz/cs/index.aspx");
    

CSS 组对象:

input[type=radio].css-checkbox 
      position:absolute; 
      z-index:-1000; 
      left:-1000px; 
      overflow: hidden; 
      clip: rect(0 0 0 0); 
      height:1px; 
      width:1px; 
      margin:-1px; 
      padding:0; 
      border:0;


input[type=radio].css-checkbox + label.css-label 
    padding-left:37px;
    height:32px; 
    display:inline-block;
    line-height:32px;
    background-repeat:no-repeat;
    background-position: 0 0;
    font-size:32px;
    vertical-align:middle;
    cursor:pointer;


input[type=radio].css-checkbox:checked + label.css-label 
    background-position: 0 -32px;


label.css-label 
    background-image:url(http://csscheckbox.com/checkboxes/u/csscheckbox_c1a4f40d98f1c23d1ad84d2af9c314be.png);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;

如果有人为他的指定语言选择收音机并单击提交按钮,我只需要这样做,这样他就会重定向到为他的语言指定 html 页面。

【问题讨论】:

不起作用是什么意思? 如果我点击提交按钮,它不会将我重定向到指定网页。 如果您调试代码并逐步执行,您是否获得了正确的 Request.Form["check_lang"] 如果我点击提交所以它仍然只刷新页面它不运行提交功能。问题将在形式上,但我不知道在哪里。 但如果我使用 get 方法,那么这将返回我“localhost:2286/…”...检查 url 【参考方案1】:

在 c# 代码中使用runat="server" 访问它 或使用 javascript,在单选按钮的更改事件中,您可以将值存储在隐藏字段中,该字段可在您的 c# 代码中访问。

  $(document).ready(function()
   $('#rdbEnglish').click(function()
      $('#hdn').val('English');
   );

【讨论】:

以上是关于如何将输入单选值输入 C#的主要内容,如果未能解决你的问题,请参考以下文章

如果输入具有特定类,则需要更改单选值

提交后通过if语句测试输入单选值[重复]

如何上传以 html 表单输入的单选按钮值

如何使用复选框和单选值构建 URL?

如何防止Twitter typeahead用所选值填充输入?

如何将单选按钮值与输入字段相关联