我有一个单页面应用程序,当点击一个按钮时,它会将数据库中的字符串加载到partialview中,这样可以正常工作。
查看
<div class="text-center">
<button id="Button1" class="btn btn-warning btn-fill">Button1</button>
<button id="Button2" class="btn btn-success btn-fill">Button2</button>
<button id="Button3" class="btn btn-danger btn-fill">Button3</button>
</div>
<script>
document.getElementById("Button1").onclick = function () { button1Function() };
function button1Function() {
$("#content").load('@Url.Action("Button1","Home")');
}
document.getElementById("Button2").onclick = function () { button2Function() };
function button2Function() {
$("#content").load('@Url.Action("Button2", "Home")');
}
document.getElementById("Button3").onclick = function () { button3Function() };
function button3Function() {
$("#content").load('@Url.Action("Button3", "Home")')
}
</script>
但我的问题是,当用户第一次访问该页面时,他们还没有按下按钮,我希望其中有一个随机字符串,它会消失和/或被其中一个按钮点击取代。
我现在无法阻止它重复。我该怎么做?
控制器
public ActionResult Index(int? id)
{
if (id == null)
{
var activityid = db.Activities.OrderBy(a => Guid.NewGuid()).Take(1);
return View(activityid);
}
return View(db.Activities.Where(a => a.ActivityID == id));
}
public ActionResult Random()
{
return PartialView("_DisplayActivity", db.Activities.OrderBy(a => Guid.NewGuid()).Take(1));
}
public ActionResult Button1()
{
var results1 = db.GetActivity(1);
return PartialView("_DisplayActivity", results1);
}
public ActionResult Button2()
{
var results2 = db.GetActivity(2);
return PartialView("_DisplayActivity", results2);
}
public ActionResult Button3()
{
var results3 = db.GetActivity(3);
return PartialView("_DisplayActivity", results3 );
}
示例
在示例1中,这是第一次加载时页面的显示方式。第二个例子是在按下其中一个按钮后如何渲染它。