那位前辈能提供一个ASP.NET 留言 实现回复,并可以针对回复可以回复的功能,类似CSDN回复的功能,先行谢过! 那位前辈能提供一个ASP.NET 留言 实现回复,并可以针对回复可以回复的功能,类似CSDN回复的功能,先行谢过! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实是表设计的问题吧、回帖表、MsgId 回帖ID 主键ArticleId 帖子ID 外键ParentId 是否针对回帖进行(第一条默认为0)大郅这样子勒、 你要的是不是一个编辑器啊 ?freetextbox如果是的要可以加我Q : 76744655我传给你! ascx:<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ArticleFoot.ascx.cs" Inherits="Controls_www_ArticleFoot" %><%@ Register Assembly="System.Web.Extensions" Namespace="System.Web.UI" TagPrefix="asp" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %> <%@ Register Src="../Controls/DataListTool.ascx" TagName="DataListTool" TagPrefix="uc2" %> <asp:UpdatePanel ID="UpdatePanel2" runat="server"> <ContentTemplate> <% if (IfMessage) { %> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="TbMessage" runat="server" visible="false" class="tblinheight"> <tr class="commgray"> <td align=left style="border-top: #dedede solid 1px;"> 用户评论 </td> <td style="border-top: #dedede solid 1px;" align="right"> <b> <asp:Label ID="lblCount" runat="server"></asp:Label></b> </td> </tr> <tr> <td colspan="2"> <asp:DataList ID="DataList1" runat="server" Width="100%" DataKeyField="PKID" OnCancelCommand="DataList1_CancelCommand" OnDeleteCommand="DataList1_DeleteCommand" OnEditCommand="DataList1_EditCommand" OnUpdateCommand="DataList1_UpdateCommand"> <ItemTemplate> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="namebox" align="left" colspan="2"> <font style="color: #616161"> <%# Eval("UserName") %></font><font style="color: #9f7e4c">(<%# Eval("CreateTime") %>)</font> </td> </tr> <tr> <td colspan="2" align="left"> <font style="color: #333333;"> <%# Eval("Body") %></font> </td> </tr> <tr> <td style="border-bottom: #dedede solid 1px;"> </td> <td align="right" style="border-bottom: #dedede solid 1px;"> <% if(GlobalFacade.PageContext.UserID>0){ %> <asp:LinkButton ID="lbYesNum" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="lbYesNum_Click">支持(<%# Convert.ToString(Eval("YesNum")) == string.Empty ? "0" : Convert.ToString(Eval("YesNum"))%>)</asp:LinkButton> | <asp:LinkButton ID="LinkButton3" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="LinkButton3_Click">反对(<%# Convert.ToString(Eval("NoNum")) == string.Empty ? "0" : Convert.ToString(Eval("NoNum"))%>)</asp:LinkButton> | <asp:LinkButton ID="LinkButton4" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="LinkButton4_Click">引用</asp:LinkButton> | <% }%> <% if (GlobalFacade.PageContext.FK_RoleType==1) { %> <asp:LinkButton ID="LinkButton5" runat="server" CssClass='<%# Eval("PKID") %>' CommandName="Edit">回复</asp:LinkButton> | <asp:LinkButton ID="LinkButton6" runat="server" CssClass='<%# Eval("PKID") %>' CommandName="Delete">删除</asp:LinkButton> <% } %> </td> </tr> </table> </ItemTemplate> <EditItemTemplate> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="namebox" align="left" colspan="2"> <font style="color: #616161"> <%# Eval("UserName") %></font><font style="color: #9f7e4c">(<%# Eval("CreateTime") %>)</font> </td> </tr> <tr> <td colspan="2" align="left"> <font style="color: #333333;"> <%# Eval("Body") %></font> </td> </tr> <tr> <td> </td> <td align="right" valign="top"> <div style="border-color: red; border-style: solid; border-width: 1px"> 管理员回复: <asp:TextBox ID="txtreplay" runat="server" Width="80%" TextMode="MultiLine" Height="100px"></asp:TextBox> <br /> <asp:LinkButton ID="LinkButton1" Text="<img src='../sysImages/folder/yes.gif'>提 交" CommandName="Update" runat="server"></asp:LinkButton> <asp:LinkButton ID="LinkButton2" Text="<img src='../sysImages/folder/no.gif'>取 消" CommandName="Cancel" runat="server"></asp:LinkButton> </div> </td> </tr> </table> </EditItemTemplate> </asp:DataList> </td> </tr> <tr> <td> <uc2:DataListTool ID="DataListTool1" runat="server" /> </td> </tr> <tr> <td background="img/list_back.gif"> </td> </tr> <tr> <td> <% if (GlobalFacade.PageContext.UserID > 0) { %> <table width="98%" id="MessageTable"> <tr> <td align="right" style="width: 25%" valign="top"> <nobr>*评论内容:</nobr> </td> <td align="left"> <asp:TextBox ID="txtBody" runat="server" Width="500px" TextMode="MultiLine" Height="150px"></asp:TextBox> </td> </tr> <tr> <td align="right" style="width: 25%" valign="top"> *验证码: </td> <td align="left"> <asp:TextBox ID="txtCheckCode" runat="server"></asp:TextBox> <img src="../Controls/ValidateCode.aspx" height="18" title="不区分大小写" alt="不区分大小写" onclick='javascript:this.src="../Controls/ValidateCode.aspx?ro=" + Math.random();' style="cursor: pointer; width: 70px;" /> </td> </tr> <tr> <td align="right" style="width: 25%"> </td> <td align="left"> <asp:Button ID="btnMessage" runat="server" CssClass="inputSubmit" Text="发表评论" OnClick="btnMessage_Click" /> <asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel2"> <ProgressTemplate> <img src="../images/web/loading.gif"><span style=" color:#FF0000">正在提交数据</span></a> </ProgressTemplate> </asp:UpdateProgress> </td> </tr> </table> <% } else { %> <p><a href="#"><span style=" font-weight:bold; color:Blue">登录</span></a>后才能发表评论</p> <% } %> </td> </tr> </table> <% } %></ContentTemplate></asp:UpdatePanel> ascx.cs:[code=C#]using System;using System.Collections;using System.Configuration;using System.Data;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;public partial class Controls_www_ArticleFoot : System.Web.UI.UserControl{ protected int PKID { get { return Request.QueryString["id"] == null ? 0 : int.Parse(Request.QueryString["id"].ToString()); } } protected void Page_Load(object sender, EventArgs e) { dataBindMessage(); this.TbMessage.Visible = IfMessage; } private bool _ifMessage=false; public bool IfMessage { get { return _ifMessage; } set { _ifMessage = value; } } private bool _ifSend = false; public bool IfSend { get { return _ifSend; } set { _ifSend = value; } } //绑定评论 protected void dataBindMessage() { this.DataList1.DataSource = DAL.DbHelperSQL.Query("select * from message where fk_link=" + PKID + " order by pkid desc"); this.DataList1.DataBind(); this.lblCount.Text = "评论(共" + this.DataList1.Items.Count + "条)"; } //保存评论 protected void btnMessage_Click(object sender, EventArgs e) { if (GlobalFacade.PageContext.UserID == 0) { ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>请先登录','#')", true); Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>请先登录','#');}</script>"); return; } if (this.txtCheckCode.Text.ToLower() != Session["_CheckCode"].ToString().ToLower()) { ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>验证码错误!','#')", true); Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>验证码错误','#');}</script>"); return; } string Body = string.Empty; if (ViewState["YYID"] != null) { DataTable dt = DAL.DbHelperSQL.Query("select * from message where pkid=" + ViewState["YYID"].ToString()).Tables[0]; Body = this.txtBody.Text.Replace("[已引用]", "<div style=\" padding-left:30px;border-color:#FFA500;border-style:solid;border-width:1px\"><b>引用:</b><br/><font style=\"color:#616161\">" + dt.Rows[0]["userName"] + "</font><font style=\"color:#9f7e4c\">(" + dt.Rows[0]["createtime"] + ")</font><br/>" + dt.Rows[0]["body"] + "</div>"); } else Body = this.txtBody.Text; string Name = GlobalFacade.PageContext.TrueName; DAL.DbHelperSQL.GetSingle("Insert into Message(FK_UserMaster,fk_link,Username,UserEmail,Body,Parent,CreateTime) values("+GlobalFacade.PageContext.UserID+"," + PKID + ",'" + Name + "','" + GlobalFacade.PageContext.UserMaster.Email + "','" + Body + "',0,'" + System.DateTime.Now.ToString() + "')"); dataBindMessage(); SysProcedure.UI_UpdateArticleHot(PKID.ToString()); this.txtBody.Text = ""; this.txtCheckCode.Text = ""; ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>评论成功!','')", true); //Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>评论成功','#');}</script>"); } //支持 protected void lbYesNum_Click(object sender, EventArgs e) { LinkButton lb = sender as LinkButton; string messageid = lb.CssClass; DAL.DbHelperSQL.GetSingle("update message set yesNum=isnull(yesNum,0)+1 where pkid=" + messageid); dataBindMessage(); ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>谢谢您的参与!','')", true); //Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>谢谢您的参与','#');}</script>"); } //反对 protected void LinkButton3_Click(object sender, EventArgs e) { LinkButton lb = sender as LinkButton; string messageid = lb.CssClass; DAL.DbHelperSQL.GetSingle("update message set nonum=isnull(yesNum,0)+1 where pkid=" + messageid); dataBindMessage(); ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>谢谢您的参与!','')", true); //Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>谢谢您的参与','#');}</script>"); } //引用 protected void LinkButton4_Click(object sender, EventArgs e) { LinkButton lb = sender as LinkButton; string messageid = lb.CssClass; ViewState["YYID"] = messageid; this.txtBody.Text = "[已引用]"; } protected void DataList1_EditCommand(object source, DataListCommandEventArgs e) { DataList1.EditItemIndex = e.Item.ItemIndex; dataBindMessage(); } //回复 protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e) { string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString(); string au_lname = ((TextBox)e.Item.FindControl("txtreplay")).Text.Trim(); DAL.DbHelperSQL.ExecuteSql("update message set [body]=Convert(nvarchar(4000),body)+'<br/><div style=\" padding-left:30px;border-color:red;border-style:solid;border-width:1px;color:red\"><b>主人回复:</b><br/>" + au_lname + "</div>' where pkid=" + au_id); DataList1.EditItemIndex = -1; dataBindMessage(); ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>评论成功!','#')", true); //Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>评论成功','#');}</script>"); } protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e) { DataList1.EditItemIndex = -1; dataBindMessage(); } protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e) { string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString(); DAL.DbHelperSQL.ExecuteSql("delete * from message where pkid=" + au_id); dataBindMessage(); }}[/code] SQL:CREATE TABLE [dbo].[Message]( [PKID] [int] IDENTITY(1,1) NOT NULL, [FK_UserMaster] [int] NULL, [FK_Link] [int] NULL, [UserName] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL, [UserEmail] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [Body] [text] COLLATE Chinese_PRC_CI_AS NULL, [Parent] [int] NULL, [YesNum] [int] NULL, [NoNum] [int] NULL, [IsFuck] [bit] NULL, [IP] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [CreateTime] [datetime] NULL, [Memo] [text] COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_Message] PRIMARY KEY CLUSTERED ( [PKID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] freetextbox 富文本框的控件 第三方的 前台界面<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Comment.aspx.cs" Inherits="Comment_Comment" %><!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 id="Head1" runat="server"> <link rel="stylesheet" type="text/css" /> <link href="../Css/BasicLayout.css" rel="stylesheet" type="text/css" /> <title>无标题页</title> <style type="text/css" >*{margin:0;padding:0;}body{margin:10px;font-size:14px;font-family:宋体}h1{font-size:26px;margin:10px 0 15px;}#commentHolder{width:540px;border-bottom:1px solid #aaa;}.comment{padding:5px 8px;background:#f8fcff;border:1px solid #aaa;font-size:14px;border-bottom:none;}.comment p{padding:5px 0;}.comment p.title{color:#1f3a87;font-size:12px;}.comment p span{float:right;color:#666}.comment div{background:#ffe;padding:3px;border:1px solid #aaa;line-height:140%;margin-bottom:5px;}.comment div span{color:#1f3a87;font-size:12px;}</style></head><body> <form id="form1" runat="server"> <div> <asp:Panel ID="Panel1" runat="server" Height="50px" Width="98%"> <table cellpadding="0" cellspacing="1" class="border" align="left"> <asp:Repeater ID="rptComment" OnItemCommand="rptComment_ItemCommand" runat="server"> <ItemTemplate> <tr> <td class="bqright" style="width: 100%;"> <table> <tr> <td style="width: 20%"> 回复人:<%# Eval("Staff_Name")%> </td> <td style="width: 20%"> 是否专家:<%# Eval("IsMaster")%> </td> </tr> <tr> <td style="width: 20%"> 评论星级:<%#Eval("StarLevel")%> </td> <td style="width: 20%"> 评论人IP:<%#Eval("ReviewIP")%> </td> </tr> <tr> <td> 评分:<%#Eval("CommentScore")%> </td> <td> 回复时间:<%#Eval("ReviewTime")%> </td> </tr> </table> <table width="100%"> <tr> <td> 评论标题: </td> </tr> <tr> <td style="width: 100%"> <%# Eval("ReviewTitle")%> </td> </tr> <tr> <td> 评论内容: </td> </tr> <tr> <td style="width: 100%"> <%#Decode(Eval("ReviewContent").ToString())%> </td> </tr> </table> <table> <tr> <td> <asp:LinkButton ID="lnkbtnDel" runat="server" CommandArgument='<%#Eval("CID") %>' CommandName="Del" OnClientClick="return confirm('是否删除此回复?')">删除</asp:LinkButton></td> <td> <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#Eval("CID") %>' CommandName="Quote" >引用</asp:LinkButton></td> </tr> </table> </td> </tr> </ItemTemplate> </asp:Repeater> </table> </asp:Panel> <asp:Panel ID="Panel2" runat="server" Width="100%"> <table cellpadding="0" cellspacing="0" style="width: 100%"> <tr> <td style="width: 12%; height: 22px;"> 评分:</td> <td style="width: 56%; height: 22px;"> <asp:TextBox ID="txtCommentScore" runat="server" Width="124px"></asp:TextBox><asp:RegularExpressionValidator ID="RegularExpressionValidator19" runat="server" ControlToValidate="txtCommentScore" ErrorMessage="输入money类型!" ValidationExpression="^\d{1,12}(?:\.\d{1,4})?$"></asp:RegularExpressionValidator></td> </tr> <tr> <td style="width: 12%"> 评论星级:</td> <td style="width: 56%"> <asp:DropDownList ID="ddlStarLevel" runat="server" Width="130px"> <asp:ListItem>--请选择--</asp:ListItem> <asp:ListItem>★</asp:ListItem> <asp:ListItem>★★</asp:ListItem> <asp:ListItem>★★★</asp:ListItem> <asp:ListItem>★★★★</asp:ListItem> <asp:ListItem>★★★★★</asp:ListItem> </asp:DropDownList></td> </tr> <tr> <td style="width: 12%"> 是否专家:</td> <td style="width: 56%"> <asp:CheckBox ID="cbIsMaster" runat="server" /></td> </tr> <tr> <td style="width: 12%; height: 24px;"> 评论标题:</td> <td style="width: 100px; height: 24px;"> <asp:TextBox ID="txtReviewTitle" runat="server" Width="440px"></asp:TextBox></td> </tr> <tr> <td style="width: 12%"> 评论内容:</td> <td style="width: 56%"> <asp:TextBox ID="txtReviewContent" runat="server" Height="152px" Width="440px" TextMode="MultiLine"></asp:TextBox><font style="color: red">(请输入1000字以内的评论。)</font></td> </tr> <tr> <td style="width: 12%"> <asp:Button ID="btnSutmit" runat="server" Text="提交" OnClick="btnSutmit_Click" /></td> <td style="width: 56%"> <asp:Button ID="btnReset" runat="server" Text="重置" OnClick="btnReset_Click" /></td> </tr> </table> </asp:Panel> </div> </form></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;using Zhiyd.DB.Model;using Zhiyd.DB.BLL;using Zhiyd.DB.DAL;using Zhiyd.DB;public partial class Comment_Comment : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataBound(); } } //绑定数据 protected void DataBound() { string aidSelect = "SELECT * from TSS_Comment, UDS_Staff,TSS_Document where TSS_Comment.DocID=TSS_Document.DocID and TSS_Comment.Staff_ID=UDS_Staff.Staff_ID"; DataTable fileTable = new DataTable(); fileTable = DbAccess.GetDS(aidSelect).Tables[0]; if (fileTable.Rows.Count >= 0) { rptComment.DataSource = fileTable; rptComment.DataBind(); } } //添加功能 protected void btnSutmit_Click(object sender, EventArgs e) { if (this.txtReviewContent.Text.Length > 2000) { Response.Write("<script>alert('评论不能超过1000字!')</script>"); } if (string.IsNullOrEmpty(this.txtCommentScore.Text)) { Response.Write("<script>alert('评分不能为空!')</script>"); return; } else { M_TSS_Comment mStf = new M_TSS_Comment(); B_TSS_Comment bStf = new B_TSS_Comment(); mStf.ReviewTitle = this.txtReviewTitle.Text.Trim(); mStf.ReviewContent = this.txtReviewContent.Text.Trim(); //mStf.DocID = ViewState["cid"] == null ? 1 : Convert.ToInt32 (ViewState["cid"]); mStf.DocID = 4; mStf.Staff_ID =Convert.ToInt32(Request.Cookies["UserID"].Value.Trim()); mStf.IsMaster = this.cbIsMaster.Checked; mStf.StarLevel = this.ddlStarLevel.SelectedItem.Text; mStf.ReviewTime = DateTime.Now; mStf.CommentScore = Convert.ToDecimal(this.txtCommentScore.Text.Trim()); mStf.ReviewContent = this.txtReviewContent.Text; mStf.ReviewIP = Request.UserHostAddress; int rtv = bStf.Add(mStf); Response.Write("<script>alert('添加成功!')</script>"); } //绑定 DataBound(); //清空控件 this.txtReviewContent.Text = ""; this.txtReviewTitle.Text = ""; this.ddlStarLevel.SelectedIndex = -1; this.txtCommentScore.Text = ""; } //删除、引用功能 protected void rptComment_ItemCommand(object sender, RepeaterCommandEventArgs e) { if (e.CommandName == "Del")//删除事件 { M_TSS_Comment mStf = new M_TSS_Comment(); B_TSS_Comment bStf = new B_TSS_Comment(); //UDS_Staff Stf = new UDS_Staff(); bStf.Delete(Convert.ToInt32(e.CommandArgument)); bool s = true; if (s) { Response.Write("<script>alert('删除成功!')</script>"); DataBound(); } else { Response.Write("<script>alert('删除失败!')</script>"); } } if (e.CommandName == "Quote")//引用事件 { M_TSS_Comment mStf = new M_TSS_Comment(); B_TSS_Comment bStf = new B_TSS_Comment(); M_UDS_Staff mUs = new M_UDS_Staff(); B_UDS_Staff bUs = new B_UDS_Staff(); int cid = Convert.ToInt32(e.CommandArgument); ViewState["cid"] = cid; mStf = bStf.GetModel(cid); mUs = bUs.GetModel(false,mStf.Staff_ID??3); //this.txtReviewContent.Text = "<div style='background-color:red;'>"+mStf.ReviewContent+"</div>"; this.txtReviewContent.Text = String.Format( "<div class="comment"><p class="title"><span>{0} 发表</span>{1}</p>{2}</div>", DateTime.Now, mUs.Staff_Name, mStf.ReviewContent); } } public string Encode(string str) { str = str.Replace("&", "&"); str = str.Replace("'", "''"); str = str.Replace("\"", """); str = str.Replace(" ", " "); str = str.Replace("<", "<"); str = str.Replace(">", ">"); str = str.Replace("\n", "<br>"); return str; } /// <summary> ///解析html成 普通文本 /// </summary> /// <param name="str">string</param> /// <returns>string</returns> public string Decode(string str) { str = str.Replace("<br>", "\n"); str = str.Replace(">", ">"); str = str.Replace("<", "<"); str = str.Replace(" ", " "); str = str.Replace(""", "\""); return str; } //重置清空功能 protected void btnReset_Click(object sender, EventArgs e) { this.txtCommentScore.Text = ""; this.txtReviewContent.Text = ""; this.cbIsMaster.Checked = true; this.txtReviewTitle.Text = ""; this.ddlStarLevel.SelectedIndex = -1; }}自己解决了谢谢大家。 //mStf.DocID = ViewState["cid"] == null ? 1 : Convert.ToInt32 (ViewState["cid"]); mStf.DocID = 4;动态的怎么获得啊.我卡这里很久了.今天看到了. IIS 的SMTP服务 安全问题 网站的权限设置 我倒要看看CSDN到底有高手没!Asp.net错误日志处理问题... 100分求用层覆盖textbox!!! 上传多个图片 怎么把多个图片的名字放进数据里(一个字段) 在这段代码中处理数据回滚的事务该怎么写? 我装vs2003的时候,老是提示我没装服务器扩展怎么回事啊?可是又装不起来,我该怎么办? 关于微软 ASP.NET Starter Kit 运行不起来的问题 ~ 在线等 多个系统检索什么处理 诚恳的请教!!! 帮找解决下错误 页面载入的Ajax页为aspx页 回传的问题
ArticleId 帖子ID 外键
ParentId 是否针对回帖进行(第一条默认为0)
大郅这样子勒、
<%@ Register Assembly="System.Web.Extensions" Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Src="../Controls/DataListTool.ascx" TagName="DataListTool" TagPrefix="uc2" %>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<% if (IfMessage)
{ %> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="TbMessage" runat="server"
visible="false" class="tblinheight">
<tr class="commgray">
<td align=left style="border-top: #dedede solid 1px;">
用户评论
</td>
<td style="border-top: #dedede solid 1px;" align="right">
<b>
<asp:Label ID="lblCount" runat="server"></asp:Label></b>
</td>
</tr>
<tr>
<td colspan="2">
<asp:DataList ID="DataList1" runat="server" Width="100%" DataKeyField="PKID" OnCancelCommand="DataList1_CancelCommand"
OnDeleteCommand="DataList1_DeleteCommand" OnEditCommand="DataList1_EditCommand"
OnUpdateCommand="DataList1_UpdateCommand">
<ItemTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="namebox" align="left" colspan="2">
<font style="color: #616161">
<%# Eval("UserName") %></font><font style="color: #9f7e4c">(<%# Eval("CreateTime") %>)</font>
</td>
</tr>
<tr>
<td colspan="2" align="left">
<font style="color: #333333;">
<%# Eval("Body") %></font>
</td>
</tr>
<tr>
<td style="border-bottom: #dedede solid 1px;">
</td>
<td align="right" style="border-bottom: #dedede solid 1px;">
<% if(GlobalFacade.PageContext.UserID>0){ %>
<asp:LinkButton ID="lbYesNum" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="lbYesNum_Click">支持(<%# Convert.ToString(Eval("YesNum")) == string.Empty ? "0" : Convert.ToString(Eval("YesNum"))%>)</asp:LinkButton>
|
<asp:LinkButton ID="LinkButton3" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="LinkButton3_Click">反对(<%# Convert.ToString(Eval("NoNum")) == string.Empty ? "0" : Convert.ToString(Eval("NoNum"))%>)</asp:LinkButton>
|
<asp:LinkButton ID="LinkButton4" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="LinkButton4_Click">引用</asp:LinkButton>
|
<% }%>
<% if (GlobalFacade.PageContext.FK_RoleType==1)
{ %>
<asp:LinkButton ID="LinkButton5" runat="server" CssClass='<%# Eval("PKID") %>' CommandName="Edit">回复</asp:LinkButton>
|
<asp:LinkButton ID="LinkButton6" runat="server" CssClass='<%# Eval("PKID") %>' CommandName="Delete">删除</asp:LinkButton>
<% } %>
</td>
</tr>
</table>
</ItemTemplate>
<EditItemTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="namebox" align="left" colspan="2">
<font style="color: #616161">
<%# Eval("UserName") %></font><font style="color: #9f7e4c">(<%# Eval("CreateTime") %>)</font>
</td>
</tr>
<tr>
<td colspan="2" align="left">
<font style="color: #333333;">
<%# Eval("Body") %></font>
</td>
</tr>
<tr>
<td>
</td>
<td align="right" valign="top">
<div style="border-color: red; border-style: solid; border-width: 1px">
管理员回复:
<asp:TextBox ID="txtreplay" runat="server" Width="80%" TextMode="MultiLine" Height="100px"></asp:TextBox>
<br />
<asp:LinkButton ID="LinkButton1" Text="<img src='../sysImages/folder/yes.gif'>提 交" CommandName="Update"
runat="server"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" Text="<img src='../sysImages/folder/no.gif'>取 消" CommandName="Cancel"
runat="server"></asp:LinkButton>
</div>
</td>
</tr>
</table>
</EditItemTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<td>
<uc2:DataListTool ID="DataListTool1" runat="server" />
</td>
</tr>
<tr>
<td background="img/list_back.gif">
</td>
</tr>
<tr>
<td>
<% if (GlobalFacade.PageContext.UserID > 0)
{ %>
<table width="98%" id="MessageTable">
<tr>
<td align="right" style="width: 25%" valign="top">
<nobr>*评论内容:</nobr>
</td>
<td align="left">
<asp:TextBox ID="txtBody" runat="server" Width="500px" TextMode="MultiLine" Height="150px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" style="width: 25%" valign="top">
*验证码:
</td>
<td align="left">
<asp:TextBox ID="txtCheckCode" runat="server"></asp:TextBox>
<img src="../Controls/ValidateCode.aspx" height="18" title="不区分大小写" alt="不区分大小写"
onclick='javascript:this.src="../Controls/ValidateCode.aspx?ro=" + Math.random();'
style="cursor: pointer; width: 70px;" />
</td>
</tr>
<tr>
<td align="right" style="width: 25%">
</td>
<td align="left">
<asp:Button ID="btnMessage" runat="server" CssClass="inputSubmit" Text="发表评论" OnClick="btnMessage_Click" />
<asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel2">
<ProgressTemplate>
<img src="../images/web/loading.gif"><span style=" color:#FF0000">正在提交数据</span></a>
</ProgressTemplate>
</asp:UpdateProgress>
</td>
</tr>
</table>
<% }
else
{ %>
<p><a href="#"><span style=" font-weight:bold; color:Blue">登录</span></a>后才能发表评论</p>
<% } %>
</td>
</tr>
</table>
<% } %>
</ContentTemplate>
</asp:UpdatePanel>
[code=C#]using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;public partial class Controls_www_ArticleFoot : System.Web.UI.UserControl
{
protected int PKID
{
get
{
return Request.QueryString["id"] == null ? 0 : int.Parse(Request.QueryString["id"].ToString());
}
}
protected void Page_Load(object sender, EventArgs e)
{
dataBindMessage();
this.TbMessage.Visible = IfMessage;
}
private bool _ifMessage=false;
public bool IfMessage
{
get {
return _ifMessage;
}
set {
_ifMessage = value;
}
}
private bool _ifSend = false;
public bool IfSend
{
get
{
return _ifSend;
}
set
{
_ifSend = value;
}
}
//绑定评论
protected void dataBindMessage()
{
this.DataList1.DataSource = DAL.DbHelperSQL.Query("select * from message where fk_link=" + PKID + " order by pkid desc");
this.DataList1.DataBind();
this.lblCount.Text = "评论(共" + this.DataList1.Items.Count + "条)";
}
//保存评论
protected void btnMessage_Click(object sender, EventArgs e)
{
if (GlobalFacade.PageContext.UserID == 0)
{
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>请先登录','#')", true);
Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>请先登录','#');}</script>");
return;
}
if (this.txtCheckCode.Text.ToLower() != Session["_CheckCode"].ToString().ToLower())
{
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>验证码错误!','#')", true);
Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>验证码错误','#');}</script>");
return;
}
string Body = string.Empty;
if (ViewState["YYID"] != null)
{
DataTable dt = DAL.DbHelperSQL.Query("select * from message where pkid=" + ViewState["YYID"].ToString()).Tables[0];
Body = this.txtBody.Text.Replace("[已引用]", "<div style=\" padding-left:30px;border-color:#FFA500;border-style:solid;border-width:1px\"><b>引用:</b><br/><font style=\"color:#616161\">" + dt.Rows[0]["userName"] +
"</font><font style=\"color:#9f7e4c\">(" + dt.Rows[0]["createtime"] + ")</font><br/>" + dt.Rows[0]["body"] + "</div>");
}
else
Body = this.txtBody.Text;
string Name = GlobalFacade.PageContext.TrueName;
DAL.DbHelperSQL.GetSingle("Insert into Message(FK_UserMaster,fk_link,Username,UserEmail,Body,Parent,CreateTime) values("+GlobalFacade.PageContext.UserID+"," +
PKID + ",'" + Name + "','" + GlobalFacade.PageContext.UserMaster.Email + "','" + Body + "',0,'" + System.DateTime.Now.ToString() + "')");
dataBindMessage();
SysProcedure.UI_UpdateArticleHot(PKID.ToString());
this.txtBody.Text = "";
this.txtCheckCode.Text = "";
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>评论成功!','')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>评论成功','#');}</script>"); }
//支持
protected void lbYesNum_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
string messageid = lb.CssClass;
DAL.DbHelperSQL.GetSingle("update message set yesNum=isnull(yesNum,0)+1 where pkid=" + messageid);
dataBindMessage();
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>谢谢您的参与!','')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>谢谢您的参与','#');}</script>");
}
//反对
protected void LinkButton3_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
string messageid = lb.CssClass;
DAL.DbHelperSQL.GetSingle("update message set nonum=isnull(yesNum,0)+1 where pkid=" + messageid);
dataBindMessage();
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>谢谢您的参与!','')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>谢谢您的参与','#');}</script>");
}
//引用
protected void LinkButton4_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
string messageid = lb.CssClass;
ViewState["YYID"] = messageid;
this.txtBody.Text = "[已引用]";
} protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
dataBindMessage();
}
//回复
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
string au_lname = ((TextBox)e.Item.FindControl("txtreplay")).Text.Trim(); DAL.DbHelperSQL.ExecuteSql("update message set [body]=Convert(nvarchar(4000),body)+'<br/><div style=\" padding-left:30px;border-color:red;border-style:solid;border-width:1px;color:red\"><b>主人回复:</b><br/>" + au_lname + "</div>' where pkid=" + au_id);
DataList1.EditItemIndex = -1;
dataBindMessage();
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>评论成功!','#')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>评论成功','#');}</script>");
}
protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
dataBindMessage();
}
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
DAL.DbHelperSQL.ExecuteSql("delete * from message where pkid=" + au_id);
dataBindMessage();
}
}
[/code]
CREATE TABLE [dbo].[Message](
[PKID] [int] IDENTITY(1,1) NOT NULL,
[FK_UserMaster] [int] NULL,
[FK_Link] [int] NULL,
[UserName] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[UserEmail] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[Body] [text] COLLATE Chinese_PRC_CI_AS NULL,
[Parent] [int] NULL,
[YesNum] [int] NULL,
[NoNum] [int] NULL,
[IsFuck] [bit] NULL,
[IP] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CreateTime] [datetime] NULL,
[Memo] [text] COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_Message] PRIMARY KEY CLUSTERED
(
[PKID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Comment.aspx.cs" Inherits="Comment_Comment" %>
<!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 id="Head1" runat="server">
<link rel="stylesheet" type="text/css" />
<link href="../Css/BasicLayout.css" rel="stylesheet" type="text/css" />
<title>无标题页</title>
<style type="text/css" >
*{margin:0;padding:0;}
body{margin:10px;font-size:14px;font-family:宋体}
h1{font-size:26px;margin:10px 0 15px;}
#commentHolder{width:540px;border-bottom:1px solid #aaa;}
.comment{padding:5px 8px;background:#f8fcff;border:1px solid #aaa;font-size:14px;border-bottom:none;}
.comment p{padding:5px 0;}
.comment p.title{color:#1f3a87;font-size:12px;}
.comment p span{float:right;color:#666}
.comment div{background:#ffe;padding:3px;border:1px solid #aaa;line-height:140%;margin-bottom:5px;}
.comment div span{color:#1f3a87;font-size:12px;}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="98%">
<table cellpadding="0" cellspacing="1" class="border" align="left">
<asp:Repeater ID="rptComment" OnItemCommand="rptComment_ItemCommand" runat="server">
<ItemTemplate>
<tr>
<td class="bqright" style="width: 100%;">
<table>
<tr>
<td style="width: 20%">
回复人:<%# Eval("Staff_Name")%>
</td>
<td style="width: 20%">
是否专家:<%# Eval("IsMaster")%>
</td>
</tr>
<tr>
<td style="width: 20%">
评论星级:<%#Eval("StarLevel")%>
</td>
<td style="width: 20%">
评论人IP:<%#Eval("ReviewIP")%>
</td>
</tr>
<tr>
<td>
评分:<%#Eval("CommentScore")%>
</td>
<td>
回复时间:<%#Eval("ReviewTime")%>
</td>
</tr>
</table>
<table width="100%">
<tr>
<td>
评论标题:
</td>
</tr>
<tr>
<td style="width: 100%">
<%# Eval("ReviewTitle")%>
</td>
</tr>
<tr>
<td>
评论内容:
</td>
</tr>
<tr>
<td style="width: 100%">
<%#Decode(Eval("ReviewContent").ToString())%>
</td>
</tr>
</table>
<table>
<tr>
<td>
<asp:LinkButton ID="lnkbtnDel" runat="server" CommandArgument='<%#Eval("CID") %>'
CommandName="Del" OnClientClick="return confirm('是否删除此回复?')">删除</asp:LinkButton></td>
<td>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%#Eval("CID") %>'
CommandName="Quote" >引用</asp:LinkButton></td>
</tr>
</table>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" Width="100%">
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr>
<td style="width: 12%; height: 22px;">
评分:</td>
<td style="width: 56%; height: 22px;">
<asp:TextBox ID="txtCommentScore" runat="server" Width="124px"></asp:TextBox><asp:RegularExpressionValidator
ID="RegularExpressionValidator19" runat="server" ControlToValidate="txtCommentScore"
ErrorMessage="输入money类型!" ValidationExpression="^\d{1,12}(?:\.\d{1,4})?$"></asp:RegularExpressionValidator></td>
</tr>
<tr>
<td style="width: 12%">
评论星级:</td>
<td style="width: 56%">
<asp:DropDownList ID="ddlStarLevel" runat="server" Width="130px">
<asp:ListItem>--请选择--</asp:ListItem>
<asp:ListItem>★</asp:ListItem>
<asp:ListItem>★★</asp:ListItem>
<asp:ListItem>★★★</asp:ListItem>
<asp:ListItem>★★★★</asp:ListItem>
<asp:ListItem>★★★★★</asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td style="width: 12%">
是否专家:</td>
<td style="width: 56%">
<asp:CheckBox ID="cbIsMaster" runat="server" /></td>
</tr>
<tr>
<td style="width: 12%; height: 24px;">
评论标题:</td>
<td style="width: 100px; height: 24px;">
<asp:TextBox ID="txtReviewTitle" runat="server" Width="440px"></asp:TextBox></td>
</tr>
<tr>
<td style="width: 12%">
评论内容:</td>
<td style="width: 56%">
<asp:TextBox ID="txtReviewContent" runat="server" Height="152px" Width="440px" TextMode="MultiLine"></asp:TextBox><font
style="color: red">(请输入1000字以内的评论。)</font></td>
</tr>
<tr>
<td style="width: 12%">
<asp:Button ID="btnSutmit" runat="server" Text="提交" OnClick="btnSutmit_Click" /></td>
<td style="width: 56%">
<asp:Button ID="btnReset" runat="server" Text="重置" OnClick="btnReset_Click" /></td>
</tr>
</table>
</asp:Panel>
</div>
</form>
</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;using Zhiyd.DB.Model;
using Zhiyd.DB.BLL;
using Zhiyd.DB.DAL;using Zhiyd.DB;public partial class Comment_Comment : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataBound();
}
}
//绑定数据
protected void DataBound()
{
string aidSelect = "SELECT * from TSS_Comment, UDS_Staff,TSS_Document where TSS_Comment.DocID=TSS_Document.DocID and TSS_Comment.Staff_ID=UDS_Staff.Staff_ID";
DataTable fileTable = new DataTable();
fileTable = DbAccess.GetDS(aidSelect).Tables[0]; if (fileTable.Rows.Count >= 0)
{
rptComment.DataSource = fileTable;
rptComment.DataBind();
}
}
//添加功能
protected void btnSutmit_Click(object sender, EventArgs e)
{
if (this.txtReviewContent.Text.Length > 2000)
{
Response.Write("<script>alert('评论不能超过1000字!')</script>");
}
if (string.IsNullOrEmpty(this.txtCommentScore.Text))
{
Response.Write("<script>alert('评分不能为空!')</script>");
return;
}
else
{
M_TSS_Comment mStf = new M_TSS_Comment();
B_TSS_Comment bStf = new B_TSS_Comment();
mStf.ReviewTitle = this.txtReviewTitle.Text.Trim();
mStf.ReviewContent = this.txtReviewContent.Text.Trim();
//mStf.DocID = ViewState["cid"] == null ? 1 : Convert.ToInt32 (ViewState["cid"]);
mStf.DocID = 4;
mStf.Staff_ID =Convert.ToInt32(Request.Cookies["UserID"].Value.Trim()); mStf.IsMaster = this.cbIsMaster.Checked;
mStf.StarLevel = this.ddlStarLevel.SelectedItem.Text;
mStf.ReviewTime = DateTime.Now;
mStf.CommentScore = Convert.ToDecimal(this.txtCommentScore.Text.Trim());
mStf.ReviewContent = this.txtReviewContent.Text;
mStf.ReviewIP = Request.UserHostAddress;
int rtv = bStf.Add(mStf);
Response.Write("<script>alert('添加成功!')</script>");
}
//绑定
DataBound();
//清空控件
this.txtReviewContent.Text = "";
this.txtReviewTitle.Text = "";
this.ddlStarLevel.SelectedIndex = -1;
this.txtCommentScore.Text = "";
}
//删除、引用功能
protected void rptComment_ItemCommand(object sender, RepeaterCommandEventArgs e)
{ if (e.CommandName == "Del")//删除事件
{
M_TSS_Comment mStf = new M_TSS_Comment();
B_TSS_Comment bStf = new B_TSS_Comment();
//UDS_Staff Stf = new UDS_Staff();
bStf.Delete(Convert.ToInt32(e.CommandArgument));
bool s = true;
if (s)
{
Response.Write("<script>alert('删除成功!')</script>");
DataBound();
}
else
{
Response.Write("<script>alert('删除失败!')</script>");
} }
if (e.CommandName == "Quote")//引用事件
{
M_TSS_Comment mStf = new M_TSS_Comment();
B_TSS_Comment bStf = new B_TSS_Comment(); M_UDS_Staff mUs = new M_UDS_Staff();
B_UDS_Staff bUs = new B_UDS_Staff();
int cid = Convert.ToInt32(e.CommandArgument);
ViewState["cid"] = cid;
mStf = bStf.GetModel(cid);
mUs = bUs.GetModel(false,mStf.Staff_ID??3);
//this.txtReviewContent.Text = "<div style='background-color:red;'>"+mStf.ReviewContent+"</div>";
this.txtReviewContent.Text = String.Format(
"<div class="comment"><p class="title"><span>{0} 发表</span>{1}</p>{2}</div>",
DateTime.Now, mUs.Staff_Name, mStf.ReviewContent);
}
}
public string Encode(string str)
{
str = str.Replace("&", "&");
str = str.Replace("'", "''");
str = str.Replace("\"", """);
str = str.Replace(" ", " ");
str = str.Replace("<", "<");
str = str.Replace(">", ">");
str = str.Replace("\n", "<br>");
return str;
}
/// <summary>
///解析html成 普通文本
/// </summary>
/// <param name="str">string</param>
/// <returns>string</returns>
public string Decode(string str)
{
str = str.Replace("<br>", "\n");
str = str.Replace(">", ">");
str = str.Replace("<", "<");
str = str.Replace(" ", " ");
str = str.Replace(""", "\"");
return str;
}
//重置清空功能
protected void btnReset_Click(object sender, EventArgs e)
{
this.txtCommentScore.Text = "";
this.txtReviewContent.Text = "";
this.cbIsMaster.Checked = true;
this.txtReviewTitle.Text = "";
this.ddlStarLevel.SelectedIndex = -1;
}
}自己解决了谢谢大家。
mStf.DocID = 4;
动态的怎么获得啊.我卡这里很久了.今天看到了.