用户将看到一组图片(宝藏),从中选择一张并存储到
当选择一张图片时,会调用该函数。在此函数中,将图片发送到一个Web服务方法以保存到数据库,并重新加载页面以进行更新:
但这对用户来说并不是很愉悦的体验。更好的方式是在不刷新页面的情况下更新内容。
以下是接收所选图像ID并将其存储在"Learner_Treasure"表中的"Webservice"方法。
这段代码将向用户显示他们选择的所有图像,但是如果我删除
我想要做的是在不刷新页面的情况下更新调用
Learner_treauser
表中。List<The_Factory_Chante.Models.Treasure> tresh;
using (The_Factory_Chante.Models.The_FactoryDBContext db2 = new The_Factory_Chante.Models.The_FactoryDBContext())
{
string imageSource = "";
tresh = db2.Treasures.ToList();
foreach (var item in tresh)
{
if (item.itemImage != null)
{
string imageBase = Convert.ToBase64String(item.itemImage);
imageSource = string.Format("data:image/gif;base64,{0}", imageBase);
}
<img id="@item.treasureID" src="@imageSource" onclick="return MakeSure(@item.treasureID)" />
}
}
当选择一张图片时,会调用该函数。在此函数中,将图片发送到一个Web服务方法以保存到数据库,并重新加载页面以进行更新:
function MakeSure(treshID) {
var id = treshID
$.ajax({
url: "../../WebService.asmx/MakeSure",
data: "{ 'id': '" + id + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
window.location.reload();
};
但这对用户来说并不是很愉悦的体验。更好的方式是在不刷新页面的情况下更新内容。
以下是接收所选图像ID并将其存储在"Learner_Treasure"表中的"Webservice"方法。
public void MakeSure(int id)
{
using (The_FactoryDBContext db = new The_FactoryDBContext())
{
Learner_Treasure learnTreasure = new Learner_Treasure();
learnTreasure.dateCompleted = DateTime.Today;
learnTreasure.learnerID = UserInfo.ID;
learnTreasure.treasureID = id;
db.Learner_Treasure.Add(learnTreasure);
db.SaveChanges();
}
调用Learner_Treasure
表格的代码。
List<The_Factory_Chante.Models.Learner_Treasure> lern;
using (The_Factory_Chante.Models.The_FactoryDBContext db2 = new The_Factory_Chante.Models.The_FactoryDBContext())
{
string imageSource = "";
lern = db2.Learner_Treasure.ToList();
if (lern != null)
{
foreach (var item in lern)
{
if (item.learnerID == UserInfo.ID)
{
byte[] bytes = db2.Treasures.FirstOrDefault(au => au.treasureID == item.treasureID).itemImage;
string imageBase = Convert.ToBase64String(bytes);
imageSource = string.Format("data:image/gif;base64,{0}", imageBase);
<img id="@item.treasureID" src="@imageSource"/>
}
}
这段代码将向用户显示他们选择的所有图像,但是如果我删除
window.location.reload();
,则该代码只有在页面重新加载时才会更新。这意味着用户在选择图片后无法立即看到所选的图片。我想要做的是在不刷新页面的情况下更新调用
Learner_Table
的代码。
window.location.reload();
。在ajax成功回调中,您想要做什么并不清楚 - 您返回数据但从未对其进行任何操作。 - user3559349MakeSure
之后会发生什么?基本上,你需要返回一些东西给你的JavaScript函数,并相应地更新页面。然而,通过你的代码很难得到一个完整的图片。 - Andre Calil