有没有办法将数据发送到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>
答案 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;
});
});