アプリケーションのセットアップ、データベースのスキーマ、実際にこのタスクのどの部分が役立つかについては何も知らずに、あなたのアーキテクチャに合っているかもしれないし、そうでないかもしれないより一般的な答えが得られています。
パート1は、私が(データ)モデルとなります。この
CREATE TABLE dbo.PageContent (
PageID INT IDENTITY(1,1) NOT NULL,
PageText NVARCHAR(MAX) NULL DEFAULT(''),
CONSTRAINT PK_PageContent_PageID PRIMARY KEY CLUSTERED ([PageID] ASC) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT PageContent(PageText) VALUES ('Reviewing cur... and running.')
GO
パート2のために使用していたデータベースのテーブルになります。 ORMまたはDBスキーマの言及は、私がADOでこれを書いていることを意味しません。オーバーロードされたメソッドは、データのみの1つの値を取得しているとして、私はコントローラと正しいモデルを取得するための基本的なアクションになりますReader
public class PageContent {
public int PageID { get; set; }
public string PageText {get; set; }
public PageContent() {}
public PageContent (int ContentID) {
PageID = ContentID;
using (SqlConnection conn = new SqlConnection(YourConnString)) {
using (SqlCommand cmd = new SqlCommand("SELECT PageText FROM PageContent WHERE (PageID = @PageID)", conn);
cmd.CommandType = CommandType.Text;
cmd.Paramaters.AddWithValue("@PageID", PageID);
try {
conn.Open();
PageText = (string)cmd.ExecuteScalar();
}
catch (Exception ex) {
PageText = "An Error has occurred";
// your error handling here
}
finally { conn.Close(); }
}
}
}
}
パート3のオーバーヘッドを保存するScalar
メソッドを実装していることに注意してくださいIDに基づいて並べ替えやその他の操作を行わない限り、List<>
を使用する必要はありません。配列を使用してオーバーヘッドを節約できます。
public ActionResult RetrievePageText(int ContentID) {
PageContent PC = New PageContent(ContentID);
string[] PageLines = PC.PageText.split('.');
return View(PageLines);
}
第4部では、最後はビューに近いです。独自のヘッダー行とHTMLを記述する必要があります。これはASPXビューエンジンを使用しています。あなたがRazorなどの場合は、それを転置する必要があります。
<ul>
<% foreach (string line in Model) { %>
<li><% =line %></li>
<% } %>
</ul>
この分割を各文にしますか? '.' –
' string [] lines = resultString.Split( '。'); ' –