【问题标题】:How do I pass a variable from .js page into a .aspx page and have it available to me in an .aspx.js page?如何将变量从 .js 页面传递到 .aspx 页面并在 .aspx.js 页面中提供给我?
【发布时间】:2019-10-01 16:07:55
【问题描述】:

我是 ASP 新手,我正在尝试将变量传递到 .aspx.js 页面中,以便可以在 if 语句中使用它来确定是否应该显示某些内容。

我有一个 .js 页面,该页面调用了一个我已添加变量的方法:

if(strStatus == 4 || strStatus == 7) {
        LMS_Roster_WaivedNotes(strStatus);
    }

调用的方法如下,我添加了status的参数

function LMS_Roster_WaivedNotes(strStatus) {
var strWindowName = "WaivedNotes";
var strRetVal     = null ;
var iLaunchWidth  = 400 ;
var iLaunchHeight = 200 ;

var objForm = document.forms["frmActRoster"];

var strPath = _UTL_GetPagePath("management/LMS_ActRosterWaived.aspx?Status=" + strStatus);

我已将 strStatus 参数添加到调用 .aspx 页面的 URL 的末尾。

此时我很困惑。

我应该在我的 .aspx 页面中添加什么来存储这个值?

它从 .aspx 页面调用一个方法:

LMS_WaivedNotes_Show_UI();

这会调用呈现 HTML 的 .aspx.js 页面。

function LMS_WaivedNotes_Show_UI()
{
pc.Logger.DebugFunctionEntry("LMS_WaivedNotes_Show_UI");

var objHtml               = null;
var objHtmlTable;
etc......

在这个页面中,我需要 strStatus 才能在 if 语句中使用它。

谢谢!

【问题讨论】:

    标签: javascript asp.net asp.net-mvc


    【解决方案1】:

    您可以使用 ASPX HiddenField 控件。在您的 ASPX 代码隐藏 Page_Load 方法中,获取查询字符串参数并设置 HiddenField 值。

    protected override void Page_Load(object sender, EventArgs e) {
        var querystring = this.Request.QueryString["strStatus"];
        this.MyHiddenField.Value = querystring;
    
    }
    

    然后您可以在 javascript 中访问这个 strStatus 值:

    var strStatus = document.getElementById('<%= MyHiddenField.ClientID %>');
    

    但是,如果您只需要在 JavaScript 中使用这个 strStatus 值,那么直接使用 JavaScript 获取查询字符串值会更有效。

    https://davidwalsh.name/query-string-javascript

    希望这会有所帮助。

    【讨论】:

    • 如果我没有 C# 代码隐藏页面,只有 .aspx 页面怎么办?
    • 是否可以通过 .aspx.js 页面中的 jquery 访问字段?我正在尝试这样的事情。 var waivedStatus = $('#idfrmActRoster input[name=Status]').val();
    • 如果你想使用 jQuery 访问表单输入元素的元素的值,你可以使用 $('#my-input-element-id').val() where my-input -element-id 是您与输入元素关联的 id
    • 您必须使用内嵌代码。然后需要将 Page_Load 方法写入脚本标签内...... 用于分隔服务器端和客户端代码,我建议使用代码隐藏文件而不是编写内联代码。将使您的代码更容易维护,而不是放在一个大文件中。
    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    相关资源
    最近更新 更多