asp.net中,如何获取javascript设置的控件值?
本人刚学asp.net不久,有一个问题困扰了我一天了,实在是没办法,想请教各位大侠,就是在.aspx文件中用javascript设置的控件值,在.cs文件中怎么获取呢?代...
本人刚学asp.net不久,有一个问题困扰了我一天了,实在是没办法,想请教各位大侠,就是在.aspx文件中用javascript设置的控件值,在.cs文件中怎么获取呢?代码如下:
ListBox.aspx:
<head runat="server">
<script type="text/javascript">
function fnMove(fromSelect,toSelect)
{
var from = document.getElementById(fromSelect);
var to = document.getElementById(toSelect);
for(var i=0;i<from.options.length;i++)
{
if(from.options[i].selected)
{
to.appendChild(from.options[i]);
i = i - 1;
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div class="divInContent">
<fieldset>
<legend>请选择</legend>
<div style="float:left; width:200px;">
<asp:ListBox ID="selLeft" runat="server" size="10" style="width:200px">
</asp:ListBox>
</div>
<div style="width:200px; float:right">
<input onkeyup="fnSortItem()" type="text" />
<asp:ListBox ID="selRight" runat="server" size="10" style="width:200px;border:solid 1px #e0dcc5;">
<asp:ListItem Value="1">足球</asp:ListItem>
<asp:ListItem Value="2">(zydsht)篮球2</asp:ListItem>
<asp:ListItem Value="3">(hzdw3)排球3</asp:ListItem>
<asp:ListItem Value="4">网球</asp:ListItem>
<asp:ListItem Value="5">乒乓球</asp:ListItem>
<asp:ListItem Value="5">羽毛球</asp:ListItem>
</asp:ListBox>
</div>
<div style="text-align:center; margin-left:200px; margin-right:200px; width:auto">
<input id="Button1" type="button" value="==>>" onclick='fnMove("selLeft","selRight")' /><br />
<input id="Button2" type="button" value="<<==" onclick='fnMove("selRight","selLeft")' /><br /><br />
</div>
</fieldset>
</div>
</div>
</form>
</body>
ListBox.aspx.cs:
string sports;
for (int i = 0; i < SelLeft.Items.Count; i++)
{
sports = sports + SelLeft.Items[i].Text + ",";
}
就是要从右边的列表中选择项目,移到左边的列表中,并在服务器端获取SelLeft的所有项的值,但是我在调试的时候发现在.cs文件中度不到任何值,循环也没有进行。我的开发环境是Visual Studio 2008、ASP.NET 2.0 Framework
能说得详细点吗?域是什么意思?是隐藏控件吗? 展开
ListBox.aspx:
<head runat="server">
<script type="text/javascript">
function fnMove(fromSelect,toSelect)
{
var from = document.getElementById(fromSelect);
var to = document.getElementById(toSelect);
for(var i=0;i<from.options.length;i++)
{
if(from.options[i].selected)
{
to.appendChild(from.options[i]);
i = i - 1;
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div class="divInContent">
<fieldset>
<legend>请选择</legend>
<div style="float:left; width:200px;">
<asp:ListBox ID="selLeft" runat="server" size="10" style="width:200px">
</asp:ListBox>
</div>
<div style="width:200px; float:right">
<input onkeyup="fnSortItem()" type="text" />
<asp:ListBox ID="selRight" runat="server" size="10" style="width:200px;border:solid 1px #e0dcc5;">
<asp:ListItem Value="1">足球</asp:ListItem>
<asp:ListItem Value="2">(zydsht)篮球2</asp:ListItem>
<asp:ListItem Value="3">(hzdw3)排球3</asp:ListItem>
<asp:ListItem Value="4">网球</asp:ListItem>
<asp:ListItem Value="5">乒乓球</asp:ListItem>
<asp:ListItem Value="5">羽毛球</asp:ListItem>
</asp:ListBox>
</div>
<div style="text-align:center; margin-left:200px; margin-right:200px; width:auto">
<input id="Button1" type="button" value="==>>" onclick='fnMove("selLeft","selRight")' /><br />
<input id="Button2" type="button" value="<<==" onclick='fnMove("selRight","selLeft")' /><br /><br />
</div>
</fieldset>
</div>
</div>
</form>
</body>
ListBox.aspx.cs:
string sports;
for (int i = 0; i < SelLeft.Items.Count; i++)
{
sports = sports + SelLeft.Items[i].Text + ",";
}
就是要从右边的列表中选择项目,移到左边的列表中,并在服务器端获取SelLeft的所有项的值,但是我在调试的时候发现在.cs文件中度不到任何值,循环也没有进行。我的开发环境是Visual Studio 2008、ASP.NET 2.0 Framework
能说得详细点吗?域是什么意思?是隐藏控件吗? 展开
3个回答
展开全部
Post的页面用Request.Form[控件名获取]
如果是多选则是以逗号分隔的数组
注意:属性enableEventValidation="false"
<form id="form1" runat="server">
<script type="text/javascript">
function fnMove(fromSelect,toSelect)
{
var from = document.getElementById(fromSelect);
var to = document.getElementById(toSelect);
for(var i=0;i<from.options.length;i++)
{
if(from.options[i].selected)
{
to.appendChild(from.options[i]);
i = i - 1;
}
}
for(var i=0;i<to.options.length;i++)
{
to.options[i].checked=true;
}
}
</script>
<div>
<div class="divInContent">
<fieldset>
<legend>请选择</legend>
<div style="float: left; width: 200px;">
<asp:ListBox ID="selLeft" runat="server" size="10" Style="width: 200px" SelectionMode=Multiple></asp:ListBox>
<asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="Button" />
</div>
<div style="width: 200px; float: right">
<input onkeyup="fnSortItem()" type="text" />
<asp:ListBox ID="selRight" runat="server" size="10" Style="width: 200px; border: solid 1px #e0dcc5;">
<asp:ListItem Value="1">足球</asp:ListItem>
<asp:ListItem Value="2">篮球</asp:ListItem>
<asp:ListItem Value="3">排球</asp:ListItem>
<asp:ListItem Value="4">网球</asp:ListItem>
<asp:ListItem Value="5">乒乓球</asp:ListItem>
<asp:ListItem Value="6">羽毛球</asp:ListItem>
</asp:ListBox>
</div>
<div style="text-align: center; margin-left: 200px; margin-right: 200px; width: auto">
<input id="Button1" type="button" value="==>>" onclick='fnMove("selLeft","selRight");' /><br />
<input id="Button2" type="button" value="<<==" onclick='fnMove("selRight","selLeft")' /><br />
<br />
</div>
</fieldset>
</div>
</div>
</form>
CS文件
protected void Button3_Click(object sender, EventArgs e)
{
object ob = Request.Form["selLeft"];
}
如果是多选则是以逗号分隔的数组
注意:属性enableEventValidation="false"
<form id="form1" runat="server">
<script type="text/javascript">
function fnMove(fromSelect,toSelect)
{
var from = document.getElementById(fromSelect);
var to = document.getElementById(toSelect);
for(var i=0;i<from.options.length;i++)
{
if(from.options[i].selected)
{
to.appendChild(from.options[i]);
i = i - 1;
}
}
for(var i=0;i<to.options.length;i++)
{
to.options[i].checked=true;
}
}
</script>
<div>
<div class="divInContent">
<fieldset>
<legend>请选择</legend>
<div style="float: left; width: 200px;">
<asp:ListBox ID="selLeft" runat="server" size="10" Style="width: 200px" SelectionMode=Multiple></asp:ListBox>
<asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="Button" />
</div>
<div style="width: 200px; float: right">
<input onkeyup="fnSortItem()" type="text" />
<asp:ListBox ID="selRight" runat="server" size="10" Style="width: 200px; border: solid 1px #e0dcc5;">
<asp:ListItem Value="1">足球</asp:ListItem>
<asp:ListItem Value="2">篮球</asp:ListItem>
<asp:ListItem Value="3">排球</asp:ListItem>
<asp:ListItem Value="4">网球</asp:ListItem>
<asp:ListItem Value="5">乒乓球</asp:ListItem>
<asp:ListItem Value="6">羽毛球</asp:ListItem>
</asp:ListBox>
</div>
<div style="text-align: center; margin-left: 200px; margin-right: 200px; width: auto">
<input id="Button1" type="button" value="==>>" onclick='fnMove("selLeft","selRight");' /><br />
<input id="Button2" type="button" value="<<==" onclick='fnMove("selRight","selLeft")' /><br />
<br />
</div>
</fieldset>
</div>
</div>
</form>
CS文件
protected void Button3_Click(object sender, EventArgs e)
{
object ob = Request.Form["selLeft"];
}
展开全部
Visual Studio 2008....好用不?
你可以设置一个隐藏域 把值存到这个隐藏域里 把这个隐藏域转化为服务器控件 你就可以获取值了
你可以设置一个隐藏域 把值存到这个隐藏域里 把这个隐藏域转化为服务器控件 你就可以获取值了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这是2005和2003的写法,2008我想应该也一样的
用web控件
<asp:HiddenField ID="hideValue" runat="server" />
或html控件
<input id="hideValue" type="hidden" runat="server" />
这两个控件在页面上是显示不出来的,称之为隐藏域
然后用JS操作他们的值
document.getElementById("hideValue").value = "给隐藏域值";
然后CS文件可以直接获得
string s = this.hideValue.value;
操作起来跟asp:textbox 一样的,只是隐藏域在页面上看不到而已(不会影响排版的)
用web控件
<asp:HiddenField ID="hideValue" runat="server" />
或html控件
<input id="hideValue" type="hidden" runat="server" />
这两个控件在页面上是显示不出来的,称之为隐藏域
然后用JS操作他们的值
document.getElementById("hideValue").value = "给隐藏域值";
然后CS文件可以直接获得
string s = this.hideValue.value;
操作起来跟asp:textbox 一样的,只是隐藏域在页面上看不到而已(不会影响排版的)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询