Javascript 分配锚定标记的href

Javascript 分配锚定标记的href,javascript,html,Javascript,Html,我想使用JavaScript分配锚定标记的href <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="AnchorTRY.aspx.cs" Inherits="AnchorTRY" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"

我想使用JavaScript分配锚定标记的href

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="AnchorTRY.aspx.cs" Inherits="AnchorTRY" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

  <a id="anchr" runat="server"> </a> 
    <script type="text/javascript">
        if (System.Web.HttpContext.Current.Session["Email"] == null && System.Web.HttpContext.Current.Session["uid"] == null)
        {
            document.getElementById("anchr").setAttribute('href', "User Login.aspx");
            document.getElementById("anchr").innerText = "Create Your Own Package";
        }
        else {
            document.getElementById("anchr").setAttribute('href', "Cities.aspx");
            document.getElementById("anchr").innerText = "Add to Your Package";
        }
    </script>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
</asp:Content>

if(System.Web.HttpContext.Current.Session[“Email”]==null&&System.Web.HttpContext.Current.Session[“uid”]==null)
{
document.getElementById(“ancr”).setAttribute('href',“User Login.aspx”);
document.getElementById(“ancr”).innerText=“创建您自己的包”;
}
否则{
document.getElementById(“ancr”).setAttribute('href',“Cities.aspx”);
document.getElementById(“ancr”).innerText=“添加到您的包”;
}

将您的代码更改为

    <script type="text/javascript">
       function setHref() {
            var flag = <% 
            if (System.Web.HttpContext.Current.Session["Email"] == null && System.Web.HttpContext.Current.Session["uid"] == null)
            {
              response.write("true");
            }
            else
            {
              response.write("false");
            }
            %>;

            if(flag == true)
            {
                document.getElementById("anchr").setAttribute('href', "User Login.aspx");
                document.getElementById("anchr").innerText = "Create Your Own Package";
            }
            else {
                document.getElementById("anchr").setAttribute('href', "Cities.aspx");
                document.getElementById("anchr").innerText = "Add to Your Package";
            }
       }
   </script>
希望它能起作用,如果你需要更多帮助,请告诉我。谢谢。


<a href="Index/MasterPage?modID=<%=Session["ProductID"]%> ">

可以这样直接使用我们可以将会话值分配给href

您可以检查控制台日志中的错误吗?什么不起作用?它是服务器端还是客户端?如果您在浏览器的javascript控制台中运行JS,它能工作吗?我不知道
System.Web.HttpContext.Current.Session
是什么。如果用户没有登录,我想让用户移动到登录页面,否则他/她应该移动到另一个页面。因此,如果满足上述条件,那么他应该首先登录,否则他将无法移动到其他位置。我认为您需要更好地了解服务器世界和浏览器世界。浏览器代码无法访问服务器上下文。此外,请在写问题时多加注意。事实上,我甚至不知道你的问题是什么,除了暗示“它不起作用”。如果它不起作用,它怎么不起作用?症状是什么?什么是行为?你是怎么解决这个问题的?结果是什么?你在哪里卡住了?你能告诉我脚本中的用法吗?如果你想在页面上编写服务器端代码以及HTML和JavaScript,你需要使用
标记。先生,我想把查询字符串和ocument.getElementById(“ancr”).setAttribute('href',一起传递给你,“User Login.aspx?prev=“+Request.QueryString[“city”]”;你能告诉我怎么做吗?我用了它,尽了我所能。有一个错误是uncaughtreferenceerror:Request未定义为获取另一个javascript变量并将此值分配给它,然后用url连接它。像
var city=''和concat类似于
document.getElementById(“ancr”).setAttribute('href',“User Login.aspx”+city)
<a href="Index/MasterPage?modID=<%=Session["ProductID"]%> ">