在用户控件中查找控件 [英] Find control inside usercontrol

查看:60
本文介绍了在用户控件中查找控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我里面有一个用户控件和Gridview. Gridview有两列,一列是文件上传器,第二列是文本框.

我正在使用javascript将新行添加到gridview,以便在每一行上重复我的上传器和文本框.

我将此用户控件放在其他aspx页面中.

从后面的代码中,我想访问所有文件上传器和文本框,但无法找到它们.

我正在给我我的Usercontrol标记.
请给我一些破解的逻辑.
----------标记-----------

Hi,

I have a usercontrol and Gridview inside it. Gridview has two columns one has file uploader and second has textbox.

Using javascript I am adding new row to gridview, so that my uploader and textbox get repeated on every row.

I put this user control in other aspx page.

From the code behind i want to access all file uploaders and textboxes, but not able to find them.

I am giving you my Usercontrol markup.
Pls get me some logic to crack this.
---------- markup -----------

<%@ Control Language="C#" AutoEventWireup="true" ClientIDMode="Static" Inherits="User_Controls_uclDynamicUploader"

    CodeBehind="uclDynamicUploader.ascx.cs" %>
<script language="javascript" type="text/javascript">

    // function will add new row to grid if user clicks "+" image.
    function AddRow() {

        var hdnMaxGrid = document.getElementById('hdn001UctlMaxGrid').value // gets hidden variable value.
        var grd = this.document.getElementById('grd');
        if (grd.rows.length == Number(hdnMaxGrid) && Number(hdnMaxGrid) != 0) {
            alert("Can't add more");
            return false;
        }
        var tbod = grd.rows[0].parentNode;
        var newRow = grd.rows[grd.rows.length - 1].cloneNode(true);
        tbod.appendChild(newRow);
        var rowIdx = 1;
        for (rowIdx; rowIdx < grd.rows.length; rowIdx++) {
            var txtbox = grd.rows[rowIdx].cells[2].firstChild;
            var pp = txtbox.value;
            document.getElementById('hdnpp').value = pp;
        }

        return false;
    }
    // function will delete row from grid if user clicks "-" image on that row.
    function RemoveRow(ctrl) {
        var grd = document.getElementById('grd');
        var row = ctrl.parentNode.parentNode; //to get row containing image
        var rowIndex = row.rowIndex; //row index of that row.
        if (grd.rows.length < 2) {
            alert("Can not delete");
        }
        else {
            grd.deleteRow(rowIndex);
        }
        return false;
    }
</script>
<div id="divTable" runat="server">
    <asp:HiddenField ID="hdnpp" runat="server" />
    <table>
        <tr>
            <td valign="top">
                <asp:GridView ID="grd" runat="server" AutoGenerateColumns="False" PagerStyle-HorizontalAlign="Left"

                    HeaderStyle-CssClass="tbhdr" CssClass="link">
                    <Columns>
                        <asp:TemplateField HeaderText="Delete">
                            <ItemTemplate>
                                <asp:ImageButton ID="imgbtnDelete" runat="server" OnClientClick="return RemoveRow(this)"

                                    ImageUrl="~/Images/Remove.png" ToolTip="Delete Row" />
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Attachments">
                            <ItemTemplate>
                                <asp:FileUpload ID="FUpd" runat="server" />
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Title">
                            <ItemTemplate>
                                <asp:TextBox ID="txt001UctlFileTitle" runat="server"></asp:TextBox>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                    <HeaderStyle CssClass="tbhdr"></HeaderStyle>
                    <PagerStyle HorizontalAlign="Left"></PagerStyle>
                </asp:GridView>
                <asp:HiddenField ID="hdn001UctlMaxGrid" runat="server" Value="0" />
            </td>
            <td valign="top">
                <asp:ImageButton ID="imgbtnAddNew" runat="server" ImageUrl="~/Images/Add.png" OnClientClick="return AddRow()"

                    ToolTip="Add Row" />
            </td>
        </tr>
    </table>
</div>




-----------------------------
谢谢,
Hemant




-----------------------------
Thanks,
Hemant

推荐答案

阅读此简单而小的质量检查页面

http://forums.asp.net/p/1174306/1974016.aspx [ ^ ]
Read this simple and small QA page

http://forums.asp.net/p/1174306/1974016.aspx[^]


这篇关于在用户控件中查找控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆