1、前台代码:
<asp:DetailsView ID="DV" runat="server" Width="100%"
DefaultMode="Insert" HeaderText="新闻资讯数据新建......"
oniteminserting="DV_ItemInserting" CellPadding="4" ForeColor="#333333"
GridLines="None" AutoGenerateRows="False" Height="502px"
ondatabound="DV_DataBound">
<Fields>
<asp:TemplateField HeaderText="新闻标题">
<InsertItemTemplate>
<asp:TextBox ID="TextTit" runat="server" Text='<%# Bind("NewsId") %>'></asp:TextBox>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="新闻正文">
<InsertItemTemplate>
<asp:TextBox ID="TextCnt" runat="server" TextMode="MultiLine" Height="450px" Width="700px" Text='<%# Bind("NewsContent") %>' ></asp:TextBox>
<script type="text/javascript">
var ue = new baidu.editor.ui.Editor(
{
initialContent: "请在这里输入正文......",
initialFrameWeight: 720,
initialFrameHeight: 480,
}
);
ue.render("TextCnt");
</script>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<InsertItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Insert"
Text="确认提交"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"></asp:LinkButton>
</InsertItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
2、后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
}
}
protected void DV_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
News n=new News ();
n.NewsId = Wangzhl.GetPrimaryKeyString("Nws");
n.Title =((TextBox)(DV.Rows[0].FindControl("TextTit"))).Text.ToString().Trim();
n.NewsContent =((TextBox)(DV.Rows[4].FindControl("TextCnt"))).Text.ToString().Trim();
n.CreatedBy = SessionManager.GetSession("UserId");
n.DateCreated = DateTime.Now;
NewsManager.AddNews(n); //业务逻辑层调用
}
1、你脚本没执行;
2、指定的渲染id或者name属性不对(最有可能的原因,服务器控件的id不一定就是你写的那个id)
这种用开发者工具简单调试下就知道原因了~
什么Name ,ID呀
ao
@WesternWind: UE最后不是有一段脚本吗?需要执行将哪个textaera(script标记也可)渲染成编辑器。这个地方就是根据id或者那么查找的啊~
@幻天芒: 工作不上Q~
@幻天芒: 仔细看下官方demo~
@幻天芒: ID="TextCnt"有的呀,你的意思是Id和Name都写吗? ID="TextCnt" Name="TextCnt"
@WesternWind: 是有,但是可能不对~你在浏览器中查看源码,看是不是这个id~,我记得要写#Id才行呢~
把 CURD 和 LIST 分开设计吧 不要在一个服务端控件做完
示例说明;
关键是 Ueditor放在DetailsView,它不显示啦 ,什么原因!
@WesternWind: 是不是 少了个 <
asp:TextBox ID="TextCnt"
==>
<asp:TextBox ID="TextCnt"
@Yu: 这里是对的,是我复制的时候没弄好!
@WesternWind:
ue.render("TextCnt"); 可能这个ID不对,你看看源码产生的ID是不是这个