我正在使用ASP.NET为酒店建立网站,并在此显示酒店房间,我创建了一个Javacript文件来生成div,现在我想获取的房间号的值点击“了解更多”,将房间号的值转移到另一页
我已经尝试使用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();
}
答案 0 :(得分:0)
每次在for循环中,您都会将cookie覆盖为新的内容,因此,无论它们选择了什么,cookie总是将保留<p-column field="facilityName" header="Medical Office Name" [sortable]="true">
<ng-template let-col let-fList="rowData" pTemplate="body">
<span>
<a (click)="selectedFacility(fList.facilityID)" [innerHtml]="fList.facilityName | getHtml : sLetter">
<strong>{{fList.facilityName}}</strong>
</a>
(
<span>{{fList.facilityType}}</span>)
</span>
</ng-template>
</p-column>
DEMO:
中的最后一个结果。
尽管如此,使用Cookie将信息从一页传递到另一页并不是执行您想要做的理想方法。
一种更好的方法是使您的“了解更多”页面能够接受房间号作为查询字符串值。
示例:results
然后查找房间信息并将信息呈现到html中。
这样做,您可以简化div元素中的链接,使其指向http://localhost/learnmore.php?cuarto=123
,而不必针对并非真正意图的行为重新使用cookie功能。