我在 mvc 中处理一个项目,我尝试做的是在鼠标悬停时使用 Ajax 函数从我的数据库中获取信息。
我添加了一个控制器操作和一个视图来呈现结果。
但没有任何工作。
我尝试了很多东西,但我不明白问题出在哪里,因为什么也没发生。
这是我第一次使用ajax函数,所以我是新手..
希望每个人都可以帮我解决这个问题。
这是我的代码:
阿贾克斯:
$("#mybutton").mouseover(function () {
$.ajax({
url: "@Url.Action(“MyAction”,”MyController”)",
success: function (result) {
$("#InformationBox").html(result); /*<--div id where the results are showing*/
}
});
});
主视图:
<form action="@Url.Action("MyPostAction", "MyController")" method="post">
<button type="submit" name="submit" id="mybutton">
</button>
<input type="hidden" name="Id_Hidden" value="1" id="AjaxSendId"/>
</form>
控制器:
[ChildActionOnly]
public ActionResult PartialViewExample(FormCollection formcollection)
{
var id_option = formcollection["Id_Hidden"];
SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
StringBuilder sb = new StringBuilder();
cn.Open();
sb.AppendLine("Select Id From Table1 ");
sb.AppendLine("WHERE Id='" + id_option + "'");
SqlDataReader sqlDataReader = new SqlCommand(sb.ToString(), cn).ExecuteReader();
while (sqlDataReader.Read())
{
if (!sqlDataReader.IsDBNull(1))
{
object value = sqlDataReader[1];
infolist(new Table1()
{
Name = value.ToString(),
});
}
}
cn.Close();
cn.Dispose();
sqlDataReader.Dispose();
ViewBag.Options = infolist
return View("HintExampleView_Layout");
}
HintExampleView_Layout(渲染结果但显示在 MainView 中):
<div id="InformationBox">
@foreach (var p in ViewBag.Options)
{
@p.Step2Name
@p.IconHover
}
</div>