gpt4 book ai didi

c# - ASP.NET MVC3 C# : Passing query as a parameter and displaying result

转载 作者:太空宇宙 更新时间:2023-11-03 22:05:42 24 4
gpt4 key购买 nike

我不熟悉 asp.net 和 C# 以及基于流行的 Music Store 应用程序构建 MVC 应用程序。我已经准备好我的基本导航,并且我已经到了一个完全空白的地步。基本上,我的 asp 页面显示一个 SQL 查询(保存在同一台机器上的 SQL DB 中)

需要:我需要在这个查询旁边有一个按钮,单击它时,它会通过 OLEDB 连接到另一个数据库,并运行查询并在弹出窗口中显示结果。

问题:如何将查询(从数据库中获取)作为参数传递给下面的代码以及如何在窗口中弹出结果。

你能给我指明正确的方向吗?下面的代码来 self 用于测试连接等的独立 asp 页面。基本上我需要将查询作为参数传递(替换下面看到的查询)并将结果显示在弹出窗口中。

<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.Odbc" %>

<script runat="server">
sub Page_Load
Dim dbconn, sql, dbcomm, dbread
dbconn = New OleDbConnection("Provider=xxxx;Password=xxxx;User ID=xxxx;Data Source=xxxx;Initial Catalog=xxxx;Port=xxxx;")
dbconn.Open()
sql = "Select ID from TABLE1"
dbcomm = New OleDbCommand(sql, dbconn)
dbread = dbcomm.ExecuteReader() <%-- Call this method within oledbcommand--%>

If dbread.Read = False Then
MsgBox("No Data Check")
Else
Response.Write("<table>")
Do While dbread.Read()
Response.Write("<tr>")
Response.Write("<td>")
Response.Write(dbread(0))
Response.Write("</td>")
Response.Write("</tr>")
Loop
Response.Write("</table>")

End If
dbconn.Close()

end sub
</script>

其他详细信息

Controller 类..

public ActionResult DisplayResult(String Qry)        
{
List<QuerySet> QueryToExecute = new List<QuerySet>();
return View(QueryToExecute);

为该 Controller 提供数据的 View ,这是从我的 SQL 数据库中获取的查询,应该在单独服务器上的单独数据库中执行。

<ul> 
@foreach (var ShowQueries in Model.Queriess)
{
<li>
@Html.ActionLink(ShowQueries.Query, "DisplayResult", new { Qry = ShowQueries.Query })
</li>
}

问题:我应该如何使用名为“DisplayResult”的 View 来处理上面的 View 获取的查询并在另一个数据库中执行它。我希望我可以使用 Webform View 而不是 razor View ,但无论哪种方式我都无法传递参数任何想法表示赞赏

最佳答案

MVC 的要点是将数据连接移出 View (aspx 页面)并移入 Controller 。

阅读更多 MVC 教程,并购买一两本书。您实际上应该将数据填充到 Controller 上的 View 模型中,然后将该 View 模型传递给 View 。这样, View 对如何获取数据一无所知——它已经从 Controller 获取了数据。

View 应该负责通过网络向用户显示数据,而不是直接获取数据或对其进行操作。

除此之外,这是您将如何做的:

使用 AJAX(即 jQuery $.ajax() 方法)将查询作为字符串传递给 Controller ​​上的操作方法(使用 HTTP POST 或 GET)。

使用局部 View 让操作方法返回弹出窗口的 HTML。您也可以返回 Json,但我认为在这种情况下 HTML/部分 View 会更容易。这是执行 OLE DB 连接并执行查询的方法。

在您的 $.ajax() 成功函数回调中,编写将弹出一个新对话框的 javascript,其中包含由 Controller 操作方法返回的局部 View HTML。

关于c# - ASP.NET MVC3 C# : Passing query as a parameter and displaying result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8541680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com