构建基于查询字符串的radiobutton值

时间:2008-09-17 09:59:31

标签: asp.net vb.net

我想基于从5组单选按钮中获取的值构建查询字符串。

选择任何组都是可选的,因此您可以选择A组或B组或两者。我将如何基于此构建查询字符串?我正在使用VB.NET 1.1

asp:Radiobuttonlist控件不喜欢null值,所以我使用普通的html单选按钮。我的问题是如何将选定的值串联到查询字符串

我现在有这样的事情:

HTML:

<input type="radio" name="apBoat" id="Apb1" value="1" /> detail1
<input type="radio" name="apBoat" id="Apb2" value="2" /> detail2

<input type="radio" name="cBoat" id="Cb1" value="1" /> detail1
<input type="radio" name="cBoat" id="Cb2" value="2" /> detail2

VB.NET

Public Sub btnSubmit_click(ByVal sender As Object, ByVal e As System.EventArgs)
  Dim queryString As String = "nextpage.aspx?"

  Dim aBoat, bBoat, cBoat bas String

  aBoat = "apb=" & Request("aBoat")
  bBoat = "bBoat=" & Request("bBoat")
  cBoat = "cBoat=" & Request("cBoat ")


  queryString += aBoat & bBoat & cBoat

  Response.Redirect(queryString)

End Sub

这是构建查询字符串的最佳方法还是我应该采取不同的方法?感谢我能得到的所有帮助。非常感谢。

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用非服务器端&lt; form&gt;使用method =“get”进行标记,然后在提交表单时,您将自动获取您所使用的查询字符串(并且不要忘记添加&lt; label&gt;标记并将其与单选按钮关联):

<form action="..." method="get">
    <input type="radio" name="apBoat" id="Apb1" value="1" /> <label for="Apb1">detail1</label>
    <input type="radio" name="apBoat" id="Apb2" value="2" /> <label for="Apb2">detail2</label>

    <input type="radio" name="cBoat" id="Cb1" value="1" /> <label for="Cb1">detail1</label>
    <input type="radio" name="cBoat" id="Cb2" value="2" /> <label for="Cb2">detail2</label>
</form>

答案 1 :(得分:0)

您可以使用StringBuilder而不是创建这三个不同的字符串。您可以通过预先分配存储字符串所需的内存来帮助解决问题。您也可以使用String.Format。

如果这是你提交按钮的全部内容,那么为什么要把它变成一个.Net页面,而只需要一个GET表单转到nextpage.aspx进行处理?