Наличие ошибки (потенциально опасный запрос.значение формы было обнаружено от клиента) при нажатии кнопки внутри gridview
когда я нажимаю кнопку которая была внутри gridview она отображает электронную почту внутри текстового поля но когда я попытался снова выбрать другую кнопку для отображения электронной почты в текстовом поле я столкнулся с такой ошибкой (
A potentially dangerous Request.Form value was detected from the client (txtEmailBody="...lkfkd.com)<mailto:abcdkkdlslfa...").) кто-нибудь может мне помочь. и это мой код.
<pre> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" OnRowCommand="GridView1_RowCommand" Height="423px"> <Columns> <asp:TemplateField HeaderText="Subject"> <ItemTemplate> <asp:LinkButton OnClientClick="document.getElementById('id01').style.display='block'; return false" runat="server" CommandArgument='<%# Eval("Subject") %>' Text='<%# Eval("Subject") %>'></asp:LinkButton> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="Sender" HeaderText="Receiver" /> <asp:BoundField DataField="DateCreated" HeaderText="Date and Time Sent" /> <asp:BoundField DataField="DateReceive" HeaderText="Date and Time Received" /> <asp:TemplateField HeaderText="Email Body"> <ItemTemplate> <asp:Button ID="txtItemBody" runat="server" Text='<%# Eval("EmailHeader") %>' Width="100px" Enabled="false"/> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Get Email "> <ItemTemplate> <asp:Button runat="server" CommandName="Select" CommandArgument="<%# Container.DataItemIndex %>" Text="View Email" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </td> <td> <asp:TextBox runat="server" ID="txtEmailBody" Width="650px" Height="700px" ReadOnly="true" TextMode="MultiLine" CssClass="textbox" Font-Size="Medium"></asp:TextBox> </td>
Что я уже пробовал:
и это мой код позади
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Select") { int rowIndex = Convert.ToInt32(e.CommandArgument); //Reference the GridView Row. GridViewRow row = GridView1.Rows[rowIndex]; //fetch the value of the body of the email string EmailHeader = (row.FindControl("txtItemBody") as System.Web.UI.WebControls.Button).Text; string Sender = row.Cells[2].Text; txtEmailBody.Text = EmailHeader; }
public void LoadResult() { EmailMethods email = new EmailMethods(); email.EmailServer = "https://sampleExchangeServer.asmx"; email.AccountName = ConfigurationManager.AppSettings["Account"]; email.Password = ConfigurationManager.AppSettings["Secret"]; email.Domain = ConfigurationManager.AppSettings["Domain"]; email.GetEmails(); DataTable dt = new DataTable(); dt.Columns.Add("Subject", typeof(string)); dt.Columns.Add("Sender", typeof(string)); dt.Columns.Add("DateCreated", typeof(string)); dt.Columns.Add("DateReceive", typeof(string)); dt.Columns.Add("EmailHeader", typeof(string)); foreach (Item item in email.EmailList) { dt.Rows.Add(item.Subject, item.DisplayTo, item.DateTimeCreated, item.DateTimeReceived, item.Body); GridView1.DataSource = dt; GridView1.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadResult(); } }
и я сделал некоторые исследования, которые мне нужно включить в этот код
<pre><system.web> <httpRuntime requestPathInvalidCharacters="<,>,%,&,:,\,?" /> </system.web>а также я сделал некоторые из обратной связи, и до сих пор она не работает, но на IE я нажимаю на текстовое поле, и я нажимаю на заднее пространство, чтобы очистить электронную почту на текстовом поле, и я могу нажать другую кнопку внутри gridview без ошибки.
Member 13427032
а также он показывает на странице, что мне нужно добавить "Debug=true" что-то вроде этого <%@ Page Language="C#" Debug="true" %> или <configuration>
&ЛТ;система.веб&ГТ;
<compilation debug="true"/>
но все равно это не работает