2009-11-04 65 views
2

我在寫一個ASP.NET應用程序,其中一個對象表由用戶客戶端創建。 我設想他們點擊「添加項目」,並在表格中創建一個新的「行」,並在文本框中輸入他們的東西。將ASP.NET控件添加到使用jQuery的頁面

我可以通過在jQuery中添加HTML來做到這一點。問題在於用戶填寫的行中的一個字段需要是顏色選擇器。

我有我的顏色選擇器的ASP.NET Web用戶控件。如何將它的一個實例添加到我的html行中的頁面?或者我在這裏咆哮錯誤的樹 - 是否有更好的方式來封裝我的顏色選擇器的功能,以便它可以放在每一行?

回答

2

不,你不能在服務器端asp.net控件添加到已使用客戶端技術(又稱JavaScript)

兩個選項一個頁面渲染:

  1. 首先,切換到使用客戶端顏色選擇器。然後,您可以通過向您的表單中動態添加隱藏字段,從而將這些數據包含在回發中。
  2. 其次,有一個單獨的編輯面板,其中包括您的顏色選擇器。用戶然後選擇一行進行編輯,用當前值更新編輯面板等。當您動態地將行添加到您的表中幷包含在隱藏字段中時,值將被存儲在隱藏字段中

沒有看到您的用戶界面,我不能評論哪個是最好的。 asp.net控件可能看起來更漂亮,但可能很難融入到您的設計中。純粹的客戶端解決方案可能更適合您的設計師,但可能看起來不太好。您還需要考慮如果/當用戶添加批次行(根據您的應用/代碼,這可能是10,50或100)會發生什麼情況。許多動態添加的控件(第一種解決方案)可能會削弱頁面的性能。

0

您不能使用jQuery添加ASP.NET控件(至少不太容易)。但是,您可以在需要將顏色選擇器添加到行時執行回發。

0

在前面的代碼中,聲明性地定義了新行應該是什麼樣子的模板,然後使用css隱藏它。

當用戶點擊'添加新按鈕'時,選擇並隱藏隱藏模板的內容並將其寫入目標div。只要確保在執行此操作時刪除隱藏的CSS。

你會的,當然,僅僅是複製你的服務器控件的HTML rednered,但htis apporach可能會給你做什麼,你需要

1

的快速簡便的方法我不知道是什麼版本的ASP你正在使用的.NET,一種可行的方法是將你的用戶控件變成custom control。然後您需要實現ICallbackEventHandler(在asp.net上執行Ajax的第一種方法);肯定它有更多的工作,但它確實給你一個很好的控制水平。您也可以嘗試this

相關問題