2011-03-16 97 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

相关问题