Javascript获取后台动态生成的控件值
建议楼主将读取控件值的动作脚本放到windowonload里面去,
也就是等页面完全加载成功后,再去找这些控件,去读取值。
这样就不会出现找不到,或者未实现的情况了。
如果楼主想搞清楚服务器端脚本与客户端脚本执行顺序的问题,请参考:
http://wwwwebjxcom/asp/2009-05-24/12144html
http://devcsdnnet/article/8/8605shtm
aspnet mvc 中不使用服务器控件,那个是webform的
mvc中用的是html的控件
在后台是无法获取html控件id的
MVC 跟webform 的用法是不同的
应该不会的,你仔细检查下,看看有没有写错。
还有注意看下那个designcs文件里有没有你那个控件的记录
如:/// <summary>
/// update_btn 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::SystemWebUIHtmlControlsHtmlButton update_btn;
这个形式的。如果没有,你可以尝试自己添加进去。
你搞错了,你这个要求应该使用JS实现,对DropDownList的change事件进行处理,单change事件发生时动态改变“<input type=file />”控件的数量,例如:
$(div)remove($('#inputfile_' + $(#DropDownList)val()));
文件上传控件变化不会对页面提交产生什么影响。
在后端只需要对HttpRequestFiles进行处理就可以了。
后台代码只能取出所有aspnet控件。
代码如下:
int nPageControls = PageControlsCount;
for (int i = 0; i < nPageControls; i++)
{
foreach (SystemWebUIControl control in PageControls[i]Controls)
Label1Text += controlClientID + " ";
}
1:使用requestgetParameterValues(keyName)获取checkbox、select值;
在使用过程,如果select使用id标识,而不是name,则getParameterValues返回“”。
2:客户端控件在服务器端不能获取。必须加上runat="server"。
if(Checkboxchecked==true)
{
//选中状态
}
else
{
//未选中状态
}
只有这种方式,不加runat="server",后台无法获取。
在服务器中获取客户端的值必须让其变成服务器端控件。
在客户端即可获取客户端控件的值,也可获取服务器端控件的值,说白了说是脚本。
3:if (ckSysChecked == true)
{
userLimitLevel = thisckSysText;
}
if (ckBasicChecked == true)
{
userLimitLevel = thisckBasicText;
}
if (ckInforChecked == true)
{
userLimitLevel = thisckInforText;
}
if (ckTableChecked == true)
{
userLimitLevel = thisckTableText;
}
自己试试吧
0条评论