2011-03-16 102 views
0

有沒有辦法發送數據到aspcontrol說一個名爲label1的標籤?通過jquery?有沒有辦法通過jQuery發送文本到aspcontrol

我知道的jQuery只喜歡HTML,但有沒有辦法使用下面類似的方法只發送原始文本到一個asp控制:

<script type="text/javascript"> 
    $(function() { 
     $('button').click(function() { 

      $(document).ready(function() { 
       var x = $('textarea').val(); 
       $('textarea').val(''); 
       var label = $("#<%= Label1.ClientID %>"); 
       var newdiv = $("<div></div>").html(x).attr('id', 'test'); 
       $('#test1').append(newdiv); 
       var serializer = new XMLSerializer(); 
       label.text(serializer.serializeToString(newdiv)); 
       return false; 
      }); 
     }); 
    }); 
</script> 

回答

1

我認爲更大的問題是asp.net更改id並試圖在代碼中獲取它並不那麼容易。

你可以使用name屬性嗎?如果是這樣,你可以使用jquery選擇器'[name * =「YourName」]'尋找包含你的名字的name屬性''

編輯:我打算添加螢火蟲是檢查頁面元素和確切地你可以使用(例如:asp.net爲默認的按鈕添加一個名稱屬性)以及發生了什麼(如你的返回false失敗),然後從觀察窗口調整你的jQuery。

樣品asp.net表單內容:

<p> 
    <asp:TextBox ID="TextBox1" name="TextBox1" runat="server" Rows="3"></asp:TextBox> 
</p> 
<p> 
    <asp:Button ID="Button1" runat="server" Text="Button" /></p> 
<p> 
    <asp:Label ID="Label1" name="Label1" runat="server" Text="Label"></asp:Label> 
</p> 

<div id="test1"></div> 

的jQuery:

$(function() { 
    $('[name*= "Button1"]').click(function() { 
     var x = $('[name*= "TextBox1"]').val(); 
     var newdiv = $("<div></div>").html(x).attr('id', 'test'); 

     $('#test1').append(newdiv); 
     $('[name*= "Label1"]').text($('#test1').html()); 
     $('[name*= "TextBox1"]').val(''); 

     return false; 

    }); 
});  
+0

是的多數民衆贊成涼爽,但...我的代碼插入的div到我的網頁的特定區域,保持用戶定義的文本是我想要做的是存儲與用戶增加了使用我的方法的ASP標籤內容考勤記錄的HTML標記。但它不工作? – 2011-03-16 16:50:34

+0

我更新了我的代碼,它抓住了html,但對我來說感覺有點不好意思。我基本上只是抓住了你正在追加的div的內容,而不是剛剛創建的div的內容和html。我遇到的是,當你使用HTML方法不搶外部HTML,我會玩它多一點,但也許這至少可以點你在正確的方向 – matto0 2011-03-16 17:18:06

+0

你能不能用outerHTML? – 2011-03-16 17:25:08

1

這裏是如何做到這一點沒有jQuery的:

<%@ Page Inherits="System.Web.UI.Page" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
     <title>Test</title> 
     <script type="text/javascript" src="App_Resources/JavaScript/jquery-1.4.4.min.js"></script> 
    </head> 
    <body> 
     <form runat="server"> 
      <asp:Label ID="testLabel" runat="server" Text="test" /> 

      <script type="text/javascript"> 
       $(document).ready(function() 
       { 
        var label = document.getElementById("<%= testLabel.ClientID %>"); 
        var div = document.createElement("div"); 

        div.innerText = "content"; 

        label.innerText = div.outerHTML; 
       }); 
      </script> 
     </form>   
    </body> 
</html> 
+0

不工作?仍然沒有設置文本? – 2011-03-16 15:37:01

+1

試試這個選擇$(「[ID $ =‘Label1的’]」)。HTML(newdiv.outerHTML) – 2011-03-16 15:44:54

+0

都能跟得上仍然沒有加入 – 2011-03-16 15:47:55

相關問題