[英]ASP.net c# basic question
愿意承认我是一个完整的.NET新手,但是我在经典ASP方面拥有丰富的经验,由于.net的整个结构完全不同,因此这变得非常棘手。
我知道我打算在后面使用代码,但是现在我很高兴将其嵌入页面中,因为:
因此,请原谅我缺乏代码,在此页面上,我试图获取由查询字符串“ mid”(菜单ID)返回的ID,然后为我们当前使用的菜单按钮显示不同的CSS类。 两个菜单类navButton和navButtonO(在上方)。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="admin.aspx.cs" Inherits="AlphaPack._Default"
title="Administration"
%>
<script language="C#" runat="server" >
protected int menuID;
protected void Page_Load(object sender, EventArgs e)
{
string menuIDdata = Page.Request.QueryString["mid"];
menuID = 0;
// Check the user is allowed here
if (!Roles.IsUserInRole("Admin"))
{
Response.Redirect("../default.aspx");
}
// Get the menu ID
if (int.TryParse(menuIDdata, out menuID))
{
menuID = int.Parse(menuIDdata);
}else{
menuID = 0;
}
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="mainHead" runat="server" >
<title>Administration</title>
<link rel="Stylesheet" href="../style/admin.css" />
</head>
<body>
<div class="topMenu">
<div class="navButton<%if(menuID == 0){ response.write("O") }%>">
<a href="admin.aspx" class="navLink">Admin Home</a>
</div>
<div class="navButton<%if(menuID == 1){ response.write("O") }%>">
<a href="users.aspx" class="navLink">User Manager</a>
</div>
<div class="navButton<%if(menuID == 2){ response.write("O") }%>">
<a href="products.aspx" class="navLink">Products</a>
</div>
</div>
<br /><br />
<div class="subMenu">
<a href="products.aspx" class="subLink">Products</a> <a href="productCats.aspx" class="subLink">Categories</a>
</div>
<br /><br />
Welcome to the Admin
</body>
</html>
感谢您的帮助,不要再费力。
您确实应该将代码放在页面后面的代码中,即使很简单,也无法将其保留在标记页面中。 其次,您仍在考虑经典的ASP,并使用Response.Write。 几乎没有理由使用Response.Write,如果您在标记页面中使用它,那么您几乎总是在做错事情。 将div转换为Panel控件,将其呈现为div。 然后,使用简单的switch语句在页面后面的代码中设置CssClass属性。 您正在使用int.Parse
,只有在保证可以从解析文本中获得int的情况下才应使用此方法。 如果不解析,将引发异常,请改用int.TryParse。
将midID
提升为类变量。
protected int menuID;
protected void Page_Load(object sender, EventArgs e)
{
menuID = 0;
// Check the user is allowed here
if (!Roles.IsUserInRole("Admin"))
{
Response.Redirect("../default.aspx");
}
// Get the menu ID
menuID = int.Parse(Page.Request.QueryString["mid"]);
}
int menuId = 0;
应该:
public int MenuId{get;set;}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.