根据网格视图中选定的行打开不同的模式框

Open different modal box depending on selected row in a gridview

本文关键字:模式 视图 网格      更新时间:2023-09-26

我有一个包含许多行的网格视图,这些行可以具有两种不同的含义。根据行的含义,我需要打开一个不同的模态poupup,有人可以解释我如何做到这一点吗?

这是gridview的代码:

<asp:GridView ID="grd_elenco" runat="server" data-toggle="modal" data-target="#myModal1">

这就是我创建模式框的方式:

<div id="#myModal1" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Titolo</h4>
            </div>
            <div class="modal-body">
                         <!--my content-->
            </div>
            <div class="modal-footer">
                <asp:Button runat="server" type="button" Text="Chiudi" class="btn btn-default" data-dismiss="modal" />
            </div>
        </div>
    </div>
</div>

所以,我需要以编程方式更改gridview的数据目标行的内容,这可能吗?

我用以下代码解决了问题:

VB.NET

Private Sub grd_elenco_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles grd_elenco.RowDataBound
    Dim variable As Integer = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "column_name")) 'take the value from column
    e.Row.Attributes.Add("OnClick", "OpenModalBox(" + variable.ToString + ")")
End Sub

Javascript

function OpenModalBox(variable) {
    if (variable==0){
        $('#mymodal1').modal('show');
    } else {
        $('#mymodal2').modal('show');
    }
}