当前位置:编程学习 > C#/ASP.NET >>

如何获取Select表单中的值,我用request.Form("select111"),取不出来

asp.net,c#
如何获取Select表单中的值,我用request.Form("select111"),取不出来 --------------------编程问答-------------------- Request.Form("select111"),检查select111名称是否正确。 --------------------编程问答-------------------- 如何在C#中实现asp中如下的功能:

Request.Form(element).count

C#中Request.Form[element]是一个字符串

有没有替代方法? --------------------编程问答-------------------- <select name="select18" Style="margin:-2px;width:40px;background-color: #CCCCCC;" size="1">                                       
    <option>男</option>
    <option>女</option> 
                                           
    </select>

要把男、女都提取出来 --------------------编程问答-------------------- Request.Form["select111"] --------------------编程问答-------------------- Request.Form["select111"]  select111是 name --------------------编程问答-------------------- 把你的()换成[]试下,可能是括号的问题 --------------------编程问答-------------------- 使用服务器控件算了。 --------------------编程问答--------------------
1.Request.Form["select111"]


2.如何在C#中实现asp中如下的功能: 

Request.Form(element).count 

C#中Request.Form[element]是一个字符串 

有没有替代方法?
---------------------------------------
System.Collections.Specialized.NameValueCollection nvc=Request.Form;
int i=nvc.Count;
--------------------编程问答-------------------- 3<select id="select18" Style="margin:-2px;width:40px;background-color: #CCCCCC;" size="1" >                                        
     <option >男 </option > 
     <option >女 </option >  
                                            
     </select > 

要把男、女都提取出来

---------------------------------

<script type="javascript/text">
var obj=document.getElementByID("select18");
for(var i=0;i<obj.length;i++)
{
   alert(obj.option[i].innerHTML);
}
</script>
--------------------编程问答-------------------- System.Collections.Specialized.NameValueCollection nvc=Request.Form;
int i=nvc.Count;
---------------------------------------
取得Form,我要select中的option 的COunt --------------------编程问答-------------------- 用javascript,C#本身没有? --------------------编程问答-------------------- 不好意思
理解错了

让他runat=“server”不行吗?
int i=this.Select1.Items.Count; --------------------编程问答-------------------- up --------------------编程问答-------------------- 你這種使用服務器控件不是更好 --------------------编程问答-------------------- runat server就很好解决了吧,没必要瞎折腾 --------------------编程问答-------------------- 记得给你的选项加value数据    
<select id="select18" Style="margin:-2px;width:40px;background-color: #CCCCCC;" size="1"  >                                         
      <option  value="男">男  </option  >  
      <option  value="女">女  </option  >   
                                             
      </select  >  

cs页面
    if (HttpContext.Current.Request.Form["select18"] != null)
            {
               string[] str= HttpContext.Current.Request.Form["select18"].ToString().Split(',');
               throw new Exception(str.Length.ToString());
            }
            else
                Response.Write("没有数据"); --------------------编程问答--------------------    public string GetStr()
        {
            StringBuilder sBulid = new StringBuilder();
            sBulid.Append(@"<select id=""select18"">                                        
       <option  value=""男"">男   </option  >  
       <option  value=""女"">女   </option  >                                 
       </select  > ");
            return sBulid.ToString();
        }
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (Request.Form["select18"] != null)
            {
                string s = Request.Form["select18"];
                Response.Write(s);
            }
        }

如果是一个select呢,怎么获取选中的值?上面办法选不到。 --------------------编程问答--------------------
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
<script type="text/javascript">
function test()
{
var el = document.getElementById("sel");
document.getElementById("hitest").value = el.options[el.selectedIndex].value;
alert(document.getElementById("hitest").value);
}

</script>
</head>
<body>
    <form id="form1" runat="server">
   <select id="sel" onchange="test()" Style="margin:-2px;width:40px;background-color: #CCCCCC;" size="1" >  
  <option value="男"> 男 </option >  
  <option value="女">女 </option >  
  </select >  
<input type="hidden" id="hitest"  runat="server"/>    </form>
</body>
</html>


页面上放置一个隐藏域 input type=hidden

在后台直接hitest。value

--------------------编程问答-------------------- 后台C#代码获取html控件的值使用的Request.Form["name"] 
"Name"是html的name,如果有相同name的控件,可以用逗号分割

sBulid.Append(@"<select id=""select18"">   里面加上name 就能取得了。 --------------------编程问答--------------------
引用 10 楼  的回复:
System.Collections.Specialized.NameValueCollection nvc=Request.Form;
int i=nvc.Count;
---------------------------------------
取得Form,我要select中的option 的COunt


给你的select加上id="select1" runat="server"
int i=select1.Items.Count;
取值用select1.Value --------------------编程问答--------------------
public string GetStr()
{
StringBuilder sBulid = new StringBuilder();
sBulid.Append(@"<select id=""select18"" name=""select"">  
  <option value=""男"">男 </option >  
  <option value=""女"">女 </option >  //去掉一个也没问题。
  </select > ");
return sBulid.ToString();
}
protected void test_Click(object sender, EventArgs e)
{
if (Request.Form["select"] != null)
{
string s = Request.Form["select"];
Response.Write(s);
}
}

已经测试没问题。
前台<%=GetStr()%>
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,