有没有办法通过jquery将文本发送到aspcontrol

时间:2011-03-16 15:29:29

标签: c# javascript jquery asp.net

有没有办法将数据发送到aspcontrol说一个名为label1的标签?通过jquery?

我知道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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

我认为更大的问题是asp.net改变了id并试图在代码中获得它并不那么容易。

您可以使用name属性吗?如果是这样,你可以使用jquery选择器'[name * =“YourName”]'

查找包含你的名字的name属性 编辑:我想添加firebug是一个很好的帮助,可以检查页面元素并确切地确定你可以使用什么(例如: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;

    });
});