1

我想通过事件背后的 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 内容值。
请让我得到你的建议。

4

1 回答 1

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;
于 2013-01-16T09:07:34.670 回答