首页 > 解决方案 > 如何从javascript文件中获取值到c#?

问题描述

我正在使用 ASP.NET 为酒店创建一个网站,此时显示酒店房间我创建了一个 javacript 文件来生成 div,现在我想通过单击“学习”来获取房间号的值more》将房间号的值转移到其他页面

我已经尝试使用 cookie 但它不起作用

这是生成 div 的 js 文件:

$(document).ready(function () {
$.get('http://localhost/quartos.php', function (data) {
    var results = JSON.parse(data);
    console.log(results);

    for (i = 0; i < results.length; i++) {
        var div = "<div class='col-sm col-md-6' height='600px' width='400px'><div class='room'><a href='' class='img d-flex justify-content-center align-items-center' style='background-image: url(images/Quartos/" + results[i].imagem + ");'></a><div class='text p-3 text-center><h3 class=' mb-3'><a href=''>Quarto " + results[i].descricao + "</a></h3 > <p><span class='price mr-20'>" + results[i].Preco_quarto + "\u20AC</span><asp:Label ID='Label1' runat='server' Text='ç aop'></asp:Label><span class='per'> por noite</span></p> <ul class='list'><li><span>Max:</span>" + results[i].Lotacao_Maxima + " Pessoas</li><li><span>Vista:</span>" + results[i].Vista + "</li></ul><hr><p class='pt-1'><button class='btn btn-primary' runat='server' onserverclick='btn_quartos'>Ver Detalhes<span class='icon-long-arrow-right'></button></span></p></div></div></div>";


        document.cookie = "CookieName=" + results[i].Num_Quarto + ";";

        $("#quartos").append(div);
    }
});
});

和“下一页”的cs:

protected void Page_Load(object sender, EventArgs e)
{
    string num_quarto = Request.Cookies["CookieName"].Value.ToString();
}

标签: c#htmlasp.net

解决方案


您每次在 for 循环中都将 cookie 覆盖为新的东西,因此 cookie 总是将最后一个结果保存在 中results,不管他们选择了什么。

虽然,使用 cookie 将信息从一个页面传递到另一个页面并不是做你想做的事的理想方式。

更好的方法是让您的“了解更多”页面能够接受房间号作为查询字符串值。

例子:http://localhost/learnmore.php?cuarto=123

然后查找房间信息并将信息呈现到 html 中。

在这样做时,您可以简化 div 元素中的链接以指向learmore.php?cuarto="+results[i].Num_Quarto,而不必将 cookie 功能重新用于它并不真正适用的行为。


推荐阅读