繁体   English   中英

如何创建动态生成的按钮,以在ASP.Net C#中使用javascript调用服务器端方法

[英]how to create dynamicly generated button that call server side method in using javascript in ASP.Net c#

我的问题
1)我创建了aspx页面,并把文字。
2)在.cs文件中->从db提取数据并将其绑定在文字上
例如文字就是那个控制

 literal+="<tr><td>data goes here</td><td>here i want put my button</td></tr>"

然后如何从html控件引发click事件。

**.aspx page**

<div class="table-primary">
            <table>
               <thead>
                   <tr>
                       <th>#</th>
                       <td>Sales Person</td>
                       <td>Employee Code</td>
                       <td>Status</td>
                       <td>Action</td>
                   </tr>
               </thead>
                <tbody>
                    <asp:Literal ID="Literal1" runat="server"></asp:Literal>
                </tbody>
            </table>

.cs页面

protected void BindData()
{
    int i = 0;
    DataTable dt = VijayDB.ExecuteSqlQueryForDataTable(CommandType.StoredProcedure, "SFA_GetAllSalesPerson", null);
    foreach (DataRow dr in dt.Rows)
    {
        Literal1.Text += "<tr>";
        Literal1.Text += "<td>"+(i++)+"</td>";
        Literal1.Text += "<td>" + dr["person_name"] + "</td>";
        Literal1.Text += "<td>" + dr["fk_hrme_employee_id"] + "</td>";
        Literal1.Text += "<td>" + dr["person_status"] + "</td>";
        Literal1.Text += "<td><a href='javascript:Edit(" + dr["pk_sfa_stm_salesperson_id"] + ");'>Edit</td>";
        Literal1.Text += "</tr>";
    }
}

您可以提前创建事件而不将其绑定到控件(因为它尚不存在)。 然后,在代码中,在动态生成控件之后,可以使用AddHandler方法将事件添加到按钮click事件中

Button btn = new Button();
btn.Text = "New Button"; 
btn.ID = "Button1"; 
btn.Click += new System.EventHandler(this.NewButton_Click); 

我试过了

Literal1.Text += "<td><a href='#' onServerClick='Save'  runat='server'>Edit</a></td>";

它呈现

<td><a href='#' onServerClick='Save'  runat='server'>Edit</a></td>

但是当我在aspx页面中写<a href='#' onServerClick='Save' runat='server'>Edit</a> ,它会崩溃

<a href="javascript:__doPostBack('ctl00$Body$ctl01','')">Edit</a>

而且工作正常。

所以如何呈现文字文本以在html上方生成

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM