Saya sedang menulis projek saya pada beberapa halaman yang bertanggungjawab untuk menyenaraikan filem dan selepas mengklik padanya ia akan memautkan anda ke halaman di mana anda boleh melihat semua maklumat tentang filem tertentu yang anda klik, Sekarang saya menggunakan SQL pada saya pangkalan data, salah satu idea saya ialah memindahkan id elemen yang ditekan selepas saya menetapkan id yang betul kepada hiperpautan yang diklik berdasarkan filem yang anda klik. Soalan saya ialah bagaimana saya boleh mendapatkan id kandungan yang diklik, memindahkannya ke bahagian belakang supaya saya boleh menarik maklumat yang betul dari pangkalan data berdasarkan id yang sama. Ini kod saya setakat ini:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace WebProject { public partial class movie : System.Web.UI.Page { public string movieLister = ""; protected void Page_Load(object sender, EventArgs e) { string fName = "contentDB.mdf"; string tableName = "moviesTbl"; string sqlSelect = $"select * from {tableName}"; DataTable table = Helper.ExecuteDataTable(fName, sqlSelect); int length = table.Rows.Count; for(int i = 0; i < length; i++) { movieLister += $"<a href='moviePage.aspx' id='{table.Rows[i]["MOVIEID"]}'><div class='movie-container' ><img src='{table.Rows[i]["movieImageFile"]}'/><div><img src='favourites.png' /> {table.Rows[i]["rating"]}</div><p>{table.Rows[i]["movieName"]}</p></div></a>"; } } } }
Kod ini pada asasnya mengambil senarai filem dan memberikan ID yang betul berkaitan dengan penerangan filem dan menghantarnya kembali ke halaman, satu-satunya perkara yang saya perlu tahu ialah tindakan yang perlu dilakukan untuk mendapatkan ID filem yang diklik supaya saya Keupayaan untuk memindahkan maklumat yang betul dari pangkalan data ke halaman.
Saya telah mencuba menggunakan pelbagai sumber tetapi tiada satu pun daripada mereka nampaknya membantu.
Memandangkan anda tidak menerbitkan halaman tersebut, saya mengandaikan anda hanya mengeluarkan
movieLister
字符串{%= movieLister %}
这应该生成a
teg dalam format yang sama yang anda gunakan dalam gelung for anda, seperti ini:Terdapat 2 isu dengan HTML ini untuk perkara yang anda mahukan
div
tag tanpa permulaan. Ini mungkin salah taip, tetapi akan menyebabkan enjin pemaparan penyemak imbas menjadi benar-benar kucar-kacir (dan mungkin membawa kepada penyerlah sintaks StackOverflow)id
属性,但该信息不是您单击链接时将加载的 URL 的一部分,因为它不在href 中
yang menunjuk kepada ID filemUntuk menyelesaikan kedua-dua masalah, saya akan mengemas kini html output supaya kelihatan seperti ini:
Anda sepatutnya boleh mengemas kini pengendali halaman seperti ini (perhatikan saya menggunakan MacBook dan tidak dapat mengesahkan kod ASPX ini kerana .NET Core/5+ hanya menggunakan Razor Pages):
Arahan Keselamatan Penting
Kod di atas hanya menunjukkan cara mendapatkan ID. Dalam pengeluaran, saya amat mengesyorkan agar anda menukarnya kepada int atau parameterkannya untuk mengelakkan serangan suntikan SQL yang sangat mudah.
Saya juga amat mengesyorkan untuk berhijrah ke halaman .NET Core/5+ dan Razor kerana ia memudahkan untuk bertanya soalan seperti ini di sini dan di Google kerana ia serba lengkap dan lebih mudah untuk menyiarkan kod sumber penuh. Jika anda ingin mengetahui tentang halaman Razor, Tim Corey di YouTube mempunyai video yang hebat untuk setiap peringkat