1

前もって感謝します。

ボタンがクリックされたときに Northwind データベースの行を「のみ」表示できるように、このボタンを機能させるのを手伝ってください。

私は webgrid チュートリアルを行っています。ただし、各チュートリアルでは、検索される前にグリッド/ウェブグリッドが常に表示されます。

フォームが送信されたときに、ボタンを使用して Northwind データベースの行からデータをリスト/ラベル/テーブルまたはグリッド 'のみ' に表示する方法を学べたら素晴らしいと思います。

簡単に言うと、私はこれを持っています:

@{
    Layout = "~/_Layout.cshtml";
    Page.Title = "Compare";

   var db = Database.Open("Northwind");
   var selectedData = db.Query("SELECT * FROM Products");

<h1>Products</h1>

 <form action="" method="post">
    <div>
      <input type="Submit" value="Get Products" /><br/> <br/> 
    </div>
 </form>

    <ol>
       @foreach(var row in selectedData)
       {
        <li><a href="#">@row.ProductName</a></li>
       }
     </ol>
  }

編集: Mike のチュートリアル ( http://www.mikesdotnetting.com/Article/211/Adding-A-Footer-To-The-Razor-WebGrid ) で、Mike は Razor の webgrid を使用して Northwind データベースにアクセスし、注文を表示します。 .

フォーム データを使用して、送信ボタンでデータベースにアクセスしたいと考えています。これは可能ですか?もしそうなら、どのように?ありがとう。

4

3 に答える 3

1

ASP.NET MVC を使用している場合、それを使用するポイントは、アプリケーションを 3 種類のコンポーネントに分割することです。モデルに、そして最後に、最初にクエリを配置する必要があるモデルに。

すべてを使用しない場合、MVC を使用しても意味がありません。

于 2013-03-30T06:16:42.500 に答える
0

これは私が一緒にハッキングした大まかな例です。

で最初にページをロードするhttp://yourDomain/Product/Indexと、テキスト ボックスと検索ボタンしか表示されません。TextBox にいくつかの文字を入力して [検索] ボタンをクリックすると、入力した文字で始まる Northwind 製品の一覧が表示されます。

~/Controllers/ProductController.cs ファイルの内容は次のとおりです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication1.Controllers
{
    public class ProductController : Controller
    {
        //
        // GET: /Product/

        public ActionResult Index(String startString)
        {
            List<Models.Product> theProducts;
            using (
                Models.NorthwindEntities NWC = 
                new Models.NorthwindEntities()
            )
            {
                 theProducts =
                    (from e in NWC.Products
                     where e.ProductName.StartsWith(startString)
                    select e).ToList();
            }
            return View(theProducts);
        }

    }
}


~/Views/Product/Index.cshtml ファイルの内容は次のとおりです。

@model List<MvcApplication1.Models.Product>

@{
    ViewBag.Title = "Product";
}

<h2>Product</h2>

@* Use a very crude means to dump matching products out *@ 
@foreach (MvcApplication1.Models.Product p in Model) {
    @Html.Raw(p.ProductName + "<br />");
}
<br />
@* See this for example use of form and submit button
http://weblogs.asp.net/raduenuca/archive/2011/03/13/asp-net-mvc-cascading-dropdown-lists-tutorial-part-2-cascading-using-normal-form-post-html-beginform-helper.aspx *@
@using (Html.BeginForm("Index", "Product", FormMethod.Get)) { 
    @Html.Raw("Enter Search Text Here:<br />");
    <input type="text" name="startString" id="txtSearch" /><br />
    <input type="submit" value="Click Hear to Search" />
}
于 2013-03-30T07:51:00.653 に答える