ASP.NET下根据QueryString决定使用哪块&#106avascript的两种方法 :)

asp.net

在asp下,有时候会使用下面的代码:

<%
if request("m") = "1" then%>
<script language="javascript">
<!--
m_name[0] = "《财经》杂志 ";
//m_period[0] = 6;
init(1, 1, 1);
//-->
</script>
<%
else%>
<script language="javascript">
<!--
m_name[0] = "《财经》杂志 ";
init(0, 1, 1);
//-->
</script>
<%end if%>
<%if request("m") = "2" then%>
<script language="javascript">
<!--
m_name[1] = "《证券市场》周刊(综合刊)";
m_name[2] = "《证券市场》周刊(市场刊)";
init(1, 2, 1);
init(1, 3, 1);
//-->
</script>
<%
else%>
<script language="javascript">
<!--
m_name[1] = "《证券市场》周刊(综合刊)";
m_name[2] = "《证券市场》周刊(市场刊)";
init(0, 2, 1);
init(0, 3, 1);
//-->
</script>
<%end if%>

如果是在ASP.NET下,如何解决呢?

方法1(使用ViewState):(蒙斑竹鸿雪指教,试验成功)

<SCRIPT language="javascript">
            <!--
            
            function howMuch2View(iselect, iview)
            {
                var m1, m2;
                switch(iselect)
                {
                    case 1:
                        m1 = 1;
                        m2 = 0;
                        break;
                    case 2:
                        m1 = 0;
                        m2 = 1;
                        break;
                    default:
                        m1 = 1;
                        m2 = 0;
                        break;
                
                }
                                
                switch(iview)
                    {
                    case 1:
                        m_name[0] = "《财经》杂志 ";
                        //m_period[0] = 6;
                        init(m1, 1, 1);                
                        break;
                    case 3:
                        m_name[0] = "《财经》杂志 ";
                        //m_period[0] = 6;
                        init(m1, 1, 1);
                        
                        m_name[1] = "《证券市场》周刊(综合刊)";
                        m_name[2] = "《证券市场》周刊(市场刊)";
                        init(m2, 2, 1);
                        init(m2, 3, 1);
                    
                        break;
                    default:
                        m_name[0] = "《财经》杂志 ";
                        //m_period[0] = 6;
                        init(m1, 1, 1);                
                        break;
                    break;
                    }
            }
            
            howMuch2View(<%=ViewState["which2Select"]%>,<%=ViewState["howMuch2View"]%>);
            
            
            //-->
                                                </SCRIPT>
------------------------------------
方法2(使用Panel的visible属性):
WebForm:
<asp:panel id="pnlJsInitM1" runat="server" Visible="False">
                            <SCRIPT language="javascript">
    <!--
    m_name[0] = "《财经》杂志 ";
    //m_period[0] = 6;
    init(1, 1, 1);
    //-->
                            </SCRIPT>
</asp:panel>

<asp:Panel id="pnlJsInitM1n" runat="server" Visible="False">
                        <SCRIPT language="javascript">
    <!--
    m_name[0] = "《财经》杂志 ";
    //m_period[0] = 6;
    init(0, 1, 1);
    //-->
    </SCRIPT>
</asp:Panel>

<asp:Panel id="pnlJsInitM2" runat="server" Visible="False">
                            <SCRIPT language="javascript">
    <!--
    m_name[1] = "《证券市场》周刊(综合刊)";
    m_name[2] = "《证券市场》周刊(市场刊)";
    init(1, 2, 1);
    init(1, 3, 1);
    //-->
    </SCRIPT>
</asp:Panel>

<asp:Panel id="pnlJsInitM2n" runat="server" Visible="False">
                            <SCRIPT language="javascript">
    <!--
    m_name[1] = "《证券市场》周刊(综合刊)";
    m_name[2] = "《证券市场》周刊(市场刊)";
    init(0, 2, 1);
    init(0, 3, 1);
    //-->
                        </SCRIPT>
</asp:Panel>
-----------------------------------------------

Codebehind:

string strM;
            try
            {
                strM = Request.QueryString["m"].Trim();
            }
            catch
            {
                strM = "3";
            }

    switch(strM)
    {
    case "1":
                    pnlJsInitM1.Visible = true;
                    pnlJsInitM1n.Visible = false;
                    pnlJsInitM2.Visible = false;
                    //pnlJsInitM2n.Visible = true;
                    pnlJsInitM2n.Visible = false;
    break;

    case "2":
                    pnlJsInitM1.Visible = false;
                    pnlJsInitM1n.Visible = true;
                    pnlJsInitM2.Visible = true;
                    pnlJsInitM2.Visible = false;
                    //pnlJsInitM2n.Visible = false;
    break;

    default :
                    pnlJsInitM1.Visible = false;
                    pnlJsInitM1n.Visible = true;
                    pnlJsInitM2.Visible = false;
                    //pnlJsInitM2n.Visible = true;
                    pnlJsInitM2n.Visible = false;
    break;

    }

时间: 2024-08-03 10:56:52

ASP.NET下根据QueryString决定使用哪块&#106avascript的两种方法 :)的相关文章

ASP、PHP根据时段切换CSS皮肤的代码的两种方法

一个网站能切换不同的CSS风格大家应该都了解,像众所周知的腾讯在今年改版时也增加了切换皮肤的功能.根据时间自动调整站点风格是不错的想法,这种根据时间自动调整站点风格也不是什么新鲜事,记得好久以前也见过类似的文章或方法,只不过当时没有特别注意.下面说一下它们的实现方法,目前网上有这样两种实现方法: 一.采用服务端的代码 ASP版本: <link rel="stylesheet" type="text/css" href=" <% if hour(

asp.net中TextBox只能输入数字的最简洁的两种方法_实用技巧

如下TextBox 复制代码 代码如下: <asp:textboxonkeypress="isnum()"id="TextBox1"runat="server"></asp:textbox> 1. 在页面中添加一段脚本: 复制代码 代码如下: <scriptlanguage="javascript">functionisnum(){if(event.keyCode<45||event.

(asp.net c#)DropDownList绑定后显示对应的项的两种方法

方法一: 实现代码 复制代码 代码如下: DropDownList1.DataSource = listSort; DropDownList1.DataTextField = "LogSortName"; DropDownList1.DataValueField = "LogSortID"; DropDownList1.DataBind(); DropDownList1.SelectedIndex = ddl.Items.IndexOf(DropDownList1.

linux驱动-linux下写驱动控制gpio时的两种方法区别

问题描述 linux下写驱动控制gpio时的两种方法区别 linux下写驱动控制gpio时,见过两种方法: 用request_mem_region函数和ioremap等得到控制寄存器的地址,然后用iowrite32函数控制该gpio 用gpio_request 和 gpio_set_value函数来控制gpio引脚 请问:这两种方法有什么区别,分别适用什么场合? 解决方案 http://blog.csdn.net/mirkerson/article/details/8464290http://b

[ASP.NET] 限制上传文件类型的两种方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 通常,为了防止因用户上传有害文件(如木马.黑客程序)引发的安全性问题,Web程序都会对用户允许上传的文件类型加以限制.而本文将要介绍的就是如何在ASP.NET应用程序中利用Web Control的内置属性简单高效地实现限制上传文件类型的功能. 在调用PostFile对象的SaveAs方法保存上传文件之前,可以通过PostFile对象的File

ASP中页面限权访问的两种方法

访问|页面 在设计网页时,经常遇到某些页面需限权访问的情况.比如,一个公司的某些产品只让某一或某些供应商或客户浏览.那么,我们如何实现这一功能呢?本文,笔者将向读者介绍几种限制客户访问权限的方法.   通常,我们在设计过程中会面临三种情况:某一页面只让某一用户浏览.某一页面只让某些用户浏览和某些页面只让某些用户浏览.第一种情况很简单,笔者不再叙述,下文将详细介绍后两种情况的设计方法.    一.某一页面只让某些用户浏览 将这些客户的信息保存在数据库中,若能在数据库中检索到客户输入的姓名和密码就允

CB下实现对端口读写的两种方法

在C++Builder中,不能够使用Turbo C中的outputb和inputb端口读写函数.但我们可以有另外两种办法实现这个功能.本文介绍怎样在C++Builder下实现端口读写,并给出两种方法的源代码. 在C++Builder下对端口的读写共有两种方法,一种为内嵌汇编语言,另一种为使用__emit__函数. 1 通过内嵌汇编语言实现端口的读写 在C++Builder中,汇编语句必须被包含在以关键字asm为起始的一对大括号中: asm {汇编语句1--} 利用内嵌汇编语言编制端口输出函数如下

asp.net得到本机数据库实例的两种方法代码

这篇文章介绍了asp.net得到本机数据库实例的两种方法代码,有需要的朋友可以参考一下   复制代码 代码如下: <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <scri

xml-关于安卓设置按钮回退到上一个activity的问题 ,问下大神两种方法的不同。

问题描述 关于安卓设置按钮回退到上一个activity的问题 ,问下大神两种方法的不同. 1.第一种是常规的添加按钮监听,使用finish回退到上一个activit运行成功. 2.查资料后,还有一种解决方式为在xml文件按钮中设置android:onClick=""back"",然后在调用当前xml文件的activity中编写back()方法包含finish()结束当前的activity,自己编写的代码不报错,但是回退到上一个界面是会弹出无法运行界面,然后回退到上一