我希望通过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内容的价值 请让我接受你的建议。
答案 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;