C#如何在服务器端得到Iframe的值 C#如何在服务器端得到Iframe的值,iframe是客户端控件,这样便于编写所见即所得式的编辑器。求高手!!!!!!!!!!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议下Fckeditor看看源码。常见思路是js,可以用Jquery等框架 在html控件里加上runat=server的属性注意这样生成出来的html控件id值可能会变 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" ValidateRequest="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><HTML> <body> <form id="frmMain" method="post" runat="server"> <iframe id="ifrHTML" name="ifrHTML" src="Default.aspx"></iframe> <br> <asp:Button id="cmdSend" runat="server" Text=" 提 交 " OnClick="cmdSend_Click"></asp:Button> <input type="hidden" name="hidValue"> </form> <script> //ifrHTML.document.designMode = "on"; </script> </body></HTML>前台using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Default2 : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { cmdSend.Attributes.Add("onClick", "document.frmMain.hidValue.value = ifrHTML.document.body.innerHTML;"); } protected void cmdSend_Click(object sender, EventArgs e) { String strValue = String.Empty; strValue = Request.Form["hidValue"]; Response.Write(Server.HtmlDecode(strValue)); }}后台代码.感觉这么处理不是最佳的,应该用JS来解决这个问题. 就是用楼上的方法,将 iframe 的转存到 hidden 中 感觉这么处理不是最佳的,应该用JS来解决这个问题.========你这就是 js 实现的 大凡iframe的编辑器都会把值存到一个hidden input里的。 我指不用hidden控件,存用JS来解决. 再次请教:上面的代码在单个网站中可以实现,可是放到masterPage中为啥不行呢?下面是代码,请指教:aspx内容:<asp:Content ID="Edit" ContentPlaceHolderID="CphMaster" Runat="Server"> <asp:Label ID="lblTitle" runat="server" Text="页面标题"></asp:Label> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <script src="JS/JNewPage.js" type="text/javascript"></script> </head> <body> <form action="NewPage.aspx?act=add" method="post" name="form1" runat="server" id="frm" > <input type="text", ID = "TitleName",name ="TitleName",size ="'50" onchange= "TitleNamechange()"/> <div id ="TNresult"></div> <ul id="FormatUl"> <li><a href="#" class="formatlink" id="BoldLink" title="加粗"></a></li> <li><a href="#" class="formatlink" id="ItalicLink" title="斜体"></a></li> <li><a href="#" class="formatlink" id="UnderlineLink" title="下划线"></a></li> </ul> <iframe id="HtmlEdit" name="HtmlEdit" style="WIDTH: 100%; HEIGHT: 296px" marginWidth=0 marginHeight=0 src="NewPage.aspx"></iframe> <asp:Button ID="savepage" runat="server" Text="提交" onclick="savepage_Click" /> <input type="hidden" name="hidValue"/> </form> </body> </html></asp:Content>aspx.cs: protected void Page_Load(object sender, EventArgs e) { savepage.Attributes.Add("onClick", "document.forms[0].hidValue.value=" + Server.HtmlEncode("HtmlEdit.document.body.innerHTML") + ""); } protected void savepage_Click(object sender, EventArgs e) { String str1 = String.Empty; str1 = Request.Form["hidValue"]; Response.Write(Server.HtmlDecode(str1)); } 放到mp里,输出的html的id会变。 哦,那怎么看id呢?也就是怎么得到document.forms[0].hidValue.value? asp.net获取DataList 的id TextBox1_TextChanged事件 MVC3 Html.RouteLink 问题 急~ 不会跨浏览器,就不要跟人说自己是做asp.net的 多个Web程序如何共用一个login.aspx? ~~~~~~~动态定义事件的问题!~~~~~~~~~ 关于存储过程参数书写的问题? sln asp.net添加引用后再生成解决方案引用就没有了 本机上做的WebApplication如何移植到其他机子上? 新手请教了 一个框架问题 谢谢 aaa|bbb|ccc|用replace怎么把|替换掉?
注意这样生成出来的html控件id值可能会变
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" ValidateRequest="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<body>
<form id="frmMain" method="post" runat="server">
<iframe id="ifrHTML" name="ifrHTML" src="Default.aspx"></iframe>
<br>
<asp:Button id="cmdSend" runat="server" Text=" 提 交 " OnClick="cmdSend_Click"></asp:Button>
<input type="hidden" name="hidValue">
</form>
<script>
//ifrHTML.document.designMode = "on";
</script>
</body>
</HTML>前台
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
cmdSend.Attributes.Add("onClick", "document.frmMain.hidValue.value = ifrHTML.document.body.innerHTML;"); }
protected void cmdSend_Click(object sender, EventArgs e)
{
String strValue = String.Empty;
strValue = Request.Form["hidValue"];
Response.Write(Server.HtmlDecode(strValue)); }
}
后台代码.感觉这么处理不是最佳的,应该用JS来解决这个问题.
aspx内容:
<asp:Content ID="Edit" ContentPlaceHolderID="CphMaster" Runat="Server">
<asp:Label ID="lblTitle" runat="server" Text="页面标题"></asp:Label>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="JS/JNewPage.js" type="text/javascript"></script>
</head>
<body>
<form action="NewPage.aspx?act=add" method="post" name="form1" runat="server" id="frm" >
<input type="text", ID = "TitleName",name ="TitleName",size ="'50" onchange= "TitleNamechange()"/>
<div id ="TNresult"></div>
<ul id="FormatUl">
<li><a href="#" class="formatlink" id="BoldLink" title="加粗"></a></li>
<li><a href="#" class="formatlink" id="ItalicLink" title="斜体"></a></li>
<li><a href="#" class="formatlink" id="UnderlineLink" title="下划线"></a></li>
</ul>
<iframe id="HtmlEdit" name="HtmlEdit" style="WIDTH: 100%; HEIGHT: 296px" marginWidth=0 marginHeight=0 src="NewPage.aspx"></iframe>
<asp:Button ID="savepage" runat="server" Text="提交" onclick="savepage_Click" />
<input type="hidden" name="hidValue"/>
</form>
</body>
</html></asp:Content>aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
savepage.Attributes.Add("onClick", "document.forms[0].hidValue.value=" + Server.HtmlEncode("HtmlEdit.document.body.innerHTML") + "");
}
protected void savepage_Click(object sender, EventArgs e)
{
String str1 = String.Empty;
str1 = Request.Form["hidValue"];
Response.Write(Server.HtmlDecode(str1)); }