2012-11-07 19 views
0

我有一個文本框,其中包含常規文本。我希望用戶能夠選擇一個詞並創建一個超鏈接。我將通過基本使用該詞並用一個標記替換它並添加url信息來完成此操作。我的問題是如何從c#代碼後面獲取用戶選擇的文本。我看到了關於selectedtext的一些東西,但只適用於windows窗體文本框。有任何想法嗎?使用asp.net文本框中的選定文本

謝謝,

回答

1

我建議使用javascript。

var startPos =input.selectionStart; 
var endPos = input.selectionEnd; 
var selectedText = input.value.substring(startPos, endPos); 
1

這是純粹的asp.net不可能的。喲不得不添加一些客戶端技術來吸取瀏覽器中的操作。

與普通的HTML頁面,看看一個jQuery或其他JavaScript框架,並突出顯示的文本,如:http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html

,或者在Silverlight中偷看,你會發現有所有你可以使用Windows所使用的工具形成。

+0

添加到Arthis答案,即選擇文本,那麼你可以通過周圍的文本函數內。我看到兩個選項,可以是將ajax調用來將選定的文本發送到服務器,也可以創建一個asp:hiddenfield並設置它的值,然後可以在回發時進行檢索。 – Prescott

0

因爲您的C#代碼在服務器上運行並且用戶在客戶端上選擇此文本,所以不能從代碼背後執行此操作。你將不得不使用Javascript。

我建議jQuery的FieldsSelection:

https://github.com/localhost/jquery-fieldselection