日期:2014-05-17  浏览次数:20492 次

ascx文件使用的问题
本帖最后由 pknygh456 于 2014-03-01 19:35:03 编辑
EcologyItem.ascx文件的内容
<%@ Control Language="C#"  AutoEventWireup="true" CodeFile="EcologyItem.ascx.cs" Inherits="CheckBoxItem" %>

<tr>
    <td class="style1">
        积分项目</td>
    <td class="style2">
        lable</td>
    <td>
        <asp:CheckBox id="CheckBox10" name ="CheckBox10" runat="server" />
    </td>
</tr>

.aspx中的引入
<% @Register TagPrefix  ="HeadBanner"  TagName  = "Banner"  Src="~/DynamicData/FieldTemplates/EcologyItem.ascx" %> 

.aspx中的引入
<HeadBanner:Banner runat="server" />

我跑出来的效果是;
...
<tr>
    <td class="style1">
        积分项目</td>
    <td class="style2">
        lable</td>
    <td>
        <span name="CheckBox10">
            <input id="ctl02_CheckBox10" type="checkbox" name="ctl02$CheckBox10">
        <span>
    </td>
</tr>
...

我的疑问是:
我在.ascx文件中定义的id="CheckBox10" name ="CheckBox10",在实际跑出来
的页面中怎么变了,如何才能不变呢?
用Request.Form["CheckBox10"];就取不到页面的值了,该怎么做才行呢
刚开始接触。。求指教!
------解决方案--------------------
Request.Form[CheckBox10.ClientID]
------解决方案--------------------
控件的ID并不是输出到浏览器端的html中德elmenet的id,这是两个不一样的概念。ClientID属性才是。
------解决方案--------------------
Request.Form[CheckBox10.ClientID]这样才可以取到控件的ID。一个是服务器控件,一个是客户端控件