从asp.net c#codebehind事件中获取html DIV内容

时间:2013-01-16 09:06:37

标签: c# jquery asp.net html

我希望通过asp.net C#代码隐藏事件来获取HTML DIV内容。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Report.aspx.cs" Inherits="WebApplication1.Report.Report" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script type="text/javascript">

    $(document).ready(function () {

        $('#_Hidden_CrystalReportContent').hide();
        $('#_Hidden_CrystalReportContent').html("<b>I want to get Current value. 1<sup>st</sup></b>");

    });        
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="_Hidden_CrystalReportContent">I want to get Current value.</div>    
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</form>
</body>
</html>

我的代码隐藏文件如下。

public partial class Report : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{}

protected void Button1_Click(object sender, EventArgs e)
{
    string s = Request["_Hidden_CrystalReportContent"].ToString();
}
}

但我仍然无法获得div内容的价值 请让我接受你的建议。

1 个答案:

答案 0 :(得分:2)

使div runat =“server”在服务器上访问。

HTML

<div id="_Hidden_CrystalReportContent" runat="server">

背后的代码

string htmlOfDiv = _Hidden_CrystalReportContent.innerHTML;

的Javascript

$(document).ready(function () {

    $('#<% _Hidden_CrystalReportContent.ClientID %>').hide();
    $('#<%= _Hidden_CrystalReportContent.ClientID %>').html("<b>I want to get Current value. 1<sup>st</sup></b>");

});        

如果CLientIDMode不是静态的,则通过puttin runat =“server”属性访问div服务器会导致更改的客户端ID。您需要使用ClientID属性在javascript中获取div的客户端ID。

根据评论

修改。您正在尝试获取更新的html,如果是这样,那么您将不会得到它,因为在帖子后面只发布了html表单元素。将更改放在一些隐藏字段中并在服务器上进行评估。

在html中

<input type="hidden"  id="hdnDivContents" runat="server">

在javascript中

$('#<% hdnDivContents.ClientID %>').val("<b>I want to get Current value. 1<sup>st</sup></b>");

背后的代码中
 _Hidden_CrystalReportContent.innerHTML = hdnDivContents.Value;