最近在学asp.net,写了一段程序,但是却无法获得listbox的值,该怎么办?

babybear2001 2005-04-13 09:02:48
用c#写的。
在葉面上定義了2個listBox,結果在post表單時候,居然無法獲得這2個listBox的值。req
uest.forms 不行,直接用ViewState也不懂咋整不到。

<script language="jscript">
function GetGroupMember()
{
if(document.forms[0].listUser.selectedIndex!=-1)
{
i=document.forms[0].listUser.selectedIndex;
var theValue=document.forms[0].listUser.options[i].value;
var theText=document.forms[0].listUser.options[i].text;
var o = new Option(theText,theValue);
document.forms[0].listMember.add(o);
document.forms[0].listUser.remove(i);
}
}
function kickMember()
{
if(document.forms[0].listMember.selectedIndex!=-1)
{
i=document.forms[0].listMember.selectedIndex;
var theValue=document.forms[0].listMember.options[i].value;
var theText=document.forms[0].listMember.options[i].text;

var o = new Option(theText,theValue);
document.forms[0].listUser.add(o);
document.forms[0].listMember.remove(i);
}
}
</script>
</HEAD>
<body>
<form id="Admin_groupMembers" method="post" runat="server">
<font face="新細明體">
<div class="mframe">
<table id="Table1" cellSpacing="0" cellPadding="0" width="90%" align="center">
<tr>
<td class="tl"></td>
<td class="tm"><span class="tt">組成員管理 </span></td>
<td class="tr"></td>
</tr>
</table>
<table id="Table2" cellSpacing="0" cellPadding="0" width="90%" align="center">
<tr>
<td class="ml"></td>
<td class="mm">
<table id="Table4" cellSpacing="0" cellPadding="0" width="97%" border="0">
<tr>
<td style="WIDTH: 242px">所有成員:</td>
<td style="WIDTH: 76px"></td>
<td>已加入的成員:</td>
</tr>
<tr>
<td style="WIDTH: 242px"><asp:listboxid="listUser" runat="server" Rows="10"></asp:listbox></td>
<td style="WIDTH: 76px" align="middle">
<P>
<input onClick="GetGroupMember()" type="button" value="==>"></P>
<P>
<input onClick="kickMember()"type="button" value="<=="></P>
</td>
<td><asp:listbox id="listMember" runat="server" Rows="10"></asp:listbox></td>
</tr>
<tr>
<td colSpan="3"><asp:button id="SaveMembers" runat="server" Text="保存"></asp:button></td>
</tr>
</table>
</td>
<td class="mr"></td>
</tr>
</table>
<table id="Table3" cellSpacing="0" cellPadding="0" width="90%" align="center">
<tr>
<td class="bl"></td>
<td class="bm"> </td>
<td class="br"></td>
</tr>
</table>
</div>
</font>
</form>
</body>


上面是aspx代碼
下面是aspx.cs代碼

private void SaveMembers_Click(object sender, System.EventArgs e)
{
//string strmember="";
foreach(StateItem i in ViewState.Values)
//string strmember="";
foreach(StateItem i in ViewState.Values)
{
Response.Write(i.Value.ToString());
}
/*for (int i=0;i<listMember.Items.Count;++i)
{
strmember+=listMember.Items[i].Value.ToString().Trim()+",";
}
Pick.WebModules.Message.Business.MessageTools mt=new Pick.WebModules.Message.Business.MessageTools();
mt.UpdateGroupMember(int.Parse(Request.QueryString["groupID"]),strmember);
BindMember(int.Parse(Request.QueryString["groupID"]));
BindUser();*/
}

僅僅是處理事件的。。。。幫忙下咯 ^_^
就是listMember,和listUser值都不懂怎麼獲取到。

在偶的那个aspx中有2个listBox
我现有的方法是在用户端用script语言
document.forms[0].listBox.options[i].value 的方法获取listbox中items的值
,然后回传给服务器

我想问有没有一种方法当控件post提交form的时候可以直接
访问listbox中的items
...全文
83 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ye_zi 2005-08-11
MARK
回复
pontus 2005-08-11
Request.Form["listMember"]
Request.Form["listUser"]
回复
xu770 2005-08-11
Request["listUser"].ToString();
Request["listMember"].ToString();
回复
bizbuy 2005-08-11
你是用js写的,所以无法在代码页直接调用。
网上的解决办法是你用js来获取选中的值并存储在一个hidden的控件中,然后在服务器端来处理
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2005-04-13 09:02
社区公告
暂无公告