gpt4 book ai didi

javascript - 在 PostBackUrl 中使用 JavaScript 变量

转载 作者:行者123 更新时间:2023-11-28 09:59:20 25 4
gpt4 key购买 nike

我正在尝试在 URL 中插入一些用于查询字符串的 JavaScript 函数。我正在使用 DataGrid 并从插入命令 asp:LinkBut​​ton 调用 PostBackUrl。这是我的网址:

PostBackUrl="ETaskerComments.aspx?etasker=12345&subCat=2"

我从跳线页面获取 JavaScript 中的查询字符串,我想用我的 JavaScript 变量替换 subCat 中的 12345 和 2。任何帮助都会很棒。

谢谢

编辑:

让我尝试澄清更多信息...

我有两个查询字符串

var eTasker = getQueryParam("eTasker");
var subCat = getQueryParam("subCat");

我想要得到这样的东西:

PostBackUrl="ETaskerComments.aspx?eTasker=' + eTasker + '&subCat=' + subCat + '"

我虽然像他的那样可以工作,但 asp:LinkBut​​ton 不喜欢这种语法。希望这有助于解释。

谢谢

最佳答案

我能够解决这个问题。我所要做的就是将代码完全从客户端移出,并将其移至服务器端,以便像我想要的那样与 DetailsView 进行交互(我知道我说过 DataGrid,无论哪种方式都应该以相同的方式工作)。 PostBackUrl 似乎不接受变量,因此这不能作为一个选项。另外,我最终在 ASPX 页面的头部使用元标记来不缓存页面。这是我所做的:

将这些元标记放入页面头部,以确保您的页面不会缓存。

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

其次,我们将创建一个 C# 事件处理程序来捕获回发事件并使页面重新加载到我们想要的位置,并在此过程中获取查询字符串。

<script type="text/c#" runat="server">

protected void Post_Back(object sender, EventArgs e)
{
string subCat = Request.QueryString["subCat"].ToString();
string eTasker = Request.QueryString["eTasker"].ToString();
if (this.IsPostBack)
{
Response.Redirect("ETaskerComments.aspx?eTasker=" + eTasker + "&subCat=" + subCat + "&Dashboard_ID=" +subCat);

}


}
</script>

现在,我们不再使用 OnClick 将 Post_Back 附加到 Insert,而是使用 OnItemInserted 参数将其附加到 DetailsView:

<asp:DetailsView DefaultMode="Insert" OnItemInserted="Post_Back" runat="server" Width="700px" Height="50px" id="DetailsView1" AutoGenerateRows="False" DataSourceID="SqlDataSource1" DataKeyNames="ID" BackColor="#87AB7B" BorderColor="#1A120F" BorderWidth="1px" ForeColor="Black" CellPadding="2">

就是这样。确保没有更多调用附加到“插入”命令链接,这应该运行您的命令并使用新插入的记录刷新您的 DataGrid/DetailsView。

感谢大家的意见。快乐编码! :)

关于javascript - 在 PostBackUrl 中使用 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9432411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com