我有一行如下
渲染结果为:
“>请再试一次。
问题在于产生的响应出错了,因为它识别出第二个引号(... [“asp ...),就像之前引用标记的结束标记(...”<%:),是否有任何特殊的方法在代码块中编写特殊字符? Tnx提前
答案 0 :(得分:1)
我首选的选项是更改HTML(以及#34; ASP.NET Markup")属性引号,因此它变为:
<a href='<%: Request["aspxerrorpath"] %>'>Please try again.</a>
即使这在ASP.NET标记中使用'
,它也会在页面HTML和"
中呈现为<%:..>
(它不会编码{{1} }})仍然保证呈现有效&#39; HTML。
如果仍然&#34;不起作用&#34;更改为'
引号后,请务必查看返回的实际 HTML。使用原始引号会导致整个页面的解析错误(无论如何在ASP.NET 3.5中) - 并且没有返回任何相关的HTML!
答案 1 :(得分:0)
你可以这样做:
<a href="<%: Request[\"aspxerrorpath\"] %>">Please try again.</a>
在另一个qoute中使用\之前写引号。
答案 2 :(得分:0)
有人提出尝试,并且它有效,所有信用给那个建议它的人,我现在看不到他的评论,Tnx MAN
答案 3 :(得分:0)
这是一个简单的网络表单,展示了两种方法:
* .aspx页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SimpleTestPage.aspx.cs" Inherits="WebApplication1.SimpleTestPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<p>
Click
<asp:HyperLink runat="server" ID="GoogleLink">here to get to Google</asp:HyperLink>
. . .
or perhaps you'd like to
<a href="<%=this.AnotherUrl%>">click here to go somewhere else</a>
</p>
</form>
</body>
</html>
它的代码隐藏:
using System;
namespace WebApplication1
{
public partial class SimpleTestPage : System.Web.UI.Page
{
public string AnotherUrl { get; set; }
protected void Page_Load( object sender , EventArgs e )
{
this.GoogleLink.NavigateUrl = "http://www.google.com/" ;
this.AnotherUrl = "http://www.leevalley.com/";
}
}
}