将图像添加到RadioButtonList会导致回发错误

时间:2015-04-21 19:31:43

标签: c# asp.net radiobuttonlist

我有RadioButtonList,我在其中动态添加图片:

this.RlCredtiCardTypes.Items.Add(new ListItem(String.Format("<img src='{0}'>", GetImageUrl(item.Code), item.Code)));

这将呈现正常,但在回发后我收到以下错误:

 A potentially dangerous Request.Form value was detected from the client 

我理解错误。问题是;如何动态地将图像添加到我的RadioButtonList而不会导致此错误?

我还尝试过HttpContext.Current.Server.HtmlEncode img字符串,但这会呈现文字文字,而不是图片。

作为备注,我想要设置EnableEventValidation="false",因为这会让我的页面开启恶意活动。

此问题似乎与此question有关,但未标记为已回答。

2 个答案:

答案 0 :(得分:0)

只要您尝试通过asp.net中的post传递html字符串,就会出现

消息A potentially dangerous Request.Form value was detected from the client

你最好的方法是将字符串编码到base64中,然后在显示形式时对其进行解码,然后在发布表单数据时,只需通过jquery或javascript将所有与html相关的数据转换为base64字符串。

答案 1 :(得分:0)

发生这种情况的原因是图片的html代码正在回发中发送。您可以通过添加ValidateRequestMode =“Disabled”validaterequestmode(v=vs.110)

来禁用RadioButtonList上的验证
<asp:RadioButtonList ID="RlCredtiCardTypes" runat="server" ValidateRequestMode="Disabled"></asp:RadioButtonList>

这将使您的表格的其余部分安全地检查恶意代码。