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 が変更されます。JavaScript で div のクライアント ID を取得するには、ClientID 属性を使用する必要があります。

編集:コメントに基づいています。更新された 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 に答える