Возьмите значение столбца при нажатии кнопки - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть таблица с несколькими строками.Перед каждым рядом есть кнопка «Выбрать».Таблица:

https://jsfiddle.net/qmg1309n/2/

Таблица заполняется процедурой, которая берет значения из базы данных.C # часть, где я беру значения и отправляю aspx:

LogicTableAdapters.getLevelTableAdapter getLvl = new LogicTableAdapters.getLevelTableAdapter();

DataTable dtLvl = getLvl.getLevel(Convert.ToInt32(ddlLevel.SelectedValue));

DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[4]{ new DataColumn("ObjtID", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("BCC", typeof(string)),new DataColumn("ParentName", typeof(string))  ,});
foreach (DataRow dr in dtLvl.Rows)
{
    dt.Rows.Add(Convert.ToInt32(dr["ObjID"]), dr["Name"].ToString(), dr["BCC"].ToString(), dr["ParentName"].ToString());
}

gvObject.DataSource = dt;
gvObject.DataBind();

Это часть asp:

<asp:GridView ID="gvObject" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False" CssClass="GridView">

    <AlternatingRowStyle BackColor="White" />
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <button class="myBtn" type="button" data-toggle="modal" data-target="#myModal" style="vertical-align: middle"><span>Select</span></button>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="ObjID">
            <ItemTemplate>
                <asp:Label ID="ObjID" runat="server" class="ObjekatID" Width="118px" Height="36px" Style="text-align: center" Font-Names="Georgia" margin-Left="100px" Text='<%# Bind("ObjID") %>'></asp:Label>


            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Name">
            <ItemTemplate>

                <asp:Label ID="Name" runat="server" Width="118px" Height="26px" Style="text-align: center" Font-Names="Georgia" margin-Left="100px" Text='<%# Bind("Name") %>'></asp:Label>

            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="BCC">
            <ItemTemplate>

                <asp:Label ID="BCC" runat="server" Width="118px" Height="26px" Style="text-align: center" Font-Names="Georgia" margin-Left="100px" Text='<%# Bind("BCC") %>'></asp:Label>

            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="ParentName">
            <ItemTemplate>

                <asp:Label ID="ParentName" runat="server" Width="118px" Height="26px" Style="text-align: center" Font-Names="Georgia" margin-Left="100px" Text='<%# Bind("ParentName") %>'></asp:Label>

            </ItemTemplate>
        </asp:TemplateField>
    </Columns>

</asp:GridView>

Когда кнопка «выбрать» нажимается перед каждой строкойМне нужно взять значение ObjID только для этой строки и сохранить его в переменной на C #.

Это значение ObjID будет позже параметризовано для новой процедуры GET, которая генерирует новую таблицу при нажатии кнопки выбора.

Может кто-нибудь помочь мне с этим?

Заранее спасибо!

1 Ответ

0 голосов
/ 14 сентября 2018

Если вы определили событие OnSelectedIndexChanged в GridView, вы можете использовать его, чтобы найти метку SelectedRow.

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    Label lbl = ((GridView)sender).SelectedRow.FindControl("ObjID") as Label;

    var ObjID = lbl.Text;
}

aspx

<asp:GridView ID="GridView1" runat="server" AutoGenerateSelectButton="true" 
    OnSelectedIndexChanged="GridView1_SelectedIndexChanged">

UPDTATE

Если вы хотите это только в front-end, вы можете сделать это.Добавьте свойство данных к кнопке.

<button class="myBtn" type="button" data-objid="<%# Eval("ObjID") %>">

Затем при нажатии кнопки вы можете прочитать это свойство и получить значение.

<script type="text/javascript">
    $('.myBtn').click(function () {
        alert($(this).data('objid'));
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...