2017-02-15 56 views
0

如何在頁面加載期間引用添加到html的元素?頁面加載期間添加的參考元素

在我的示例中,我試圖在頁面加載過程中單擊Clicker的id並使用Clicker的id。

但是,因爲它在頁面加載期間被添加到html,所以我得到上下文錯誤。

錯誤: 編譯器錯誤消息:CS0103:名稱 '答題' 不存在於當前上下文


protected void Page_Load(object sender, EventArgs e) 
{ 
//add button to html 
locationsTable.InnerHtml = htmlString; 

//click the button 
clicker.PerformClick(); 
} 

htmlString += "<td><button id=\"clicker\" runat=\"server\" class=\"btn btn-default btn-xs\" onclick=\"return false;\"><span class=\"glyphicon glyphicon-option-horizontal\"></span></button>" + " " + "<a href=\"ModifyOrder.aspx?cid=" + row["CustomerID"] + "\" class=\"btn btn-primary btn-xs\">Add License</a></td>"; 

這htmlString被添加到一個HTML表(連同存在其他元素,但它們無關)在頁面加載期間。

locationsTable.InnerHtml = htmlString; 
+0

我想你'令人困惑的JavaScript與C# – Svek

+0

不行............................... – Ophiucus

+0

讓我們澄清一下。您是否嘗試在用戶單擊頁面的html中的id =「clicker」按鈕時執行操作? – Svek

回答

0

onclick=\"return false;\"

你不能把C#代碼中的HTML這樣的,因爲它會從字面上變成HTML代碼(這是一個字符串,而不是代碼)。

但是,如果你想知道有迷上了一個idOnClick事件的事件監聽器,我認爲,從here此代碼段,可以做的伎倆......

protected void Page_Load(object sender, EventArgs e) 
{  
    locationsTable.InnerHtml = htmlString; 
    htmlString += "<td><button id=\"clicker\">Add License</a></td>"; 

    if(IsPostBack){ 
     var eventTarget = Request.Params["__EVENTTARGET"] 
     var buttonClicked = eventTarget.Substring(eventTarget.LastIndexOf("$") + 1).Equals("clicker") 
    } 
} 
+0

非常有幫助,謝謝。將測試出來。 – Ophiucus

+0

是否可以點擊按鈕? – Ophiucus