返回筆記列表 / 筆記詳情

以下是你提供程式碼及需求內容,整理成清楚的 Markdown 格式,整合包含:

  • 字典變數與 List 字典定義
  • 強型別類別 Message 定義
  • Controller 新舊資料傳遞
  • Razor Index 檢視頁面顯示

1. 定義字典變數範例

// 單筆字典資料
Dictionary<string, dynamic> message = new Dictionary<string, dynamic> {
    {"id",1 }, {"pdate",DateTime.Now}, {"content","資管三乙"}
};
ViewBag.message = message;
return View();


2. Index檢視畫面單筆資料顯示

@{
    Dictionary<string, dynamic> message = ViewBag.message as Dictionary<string, dynamic>;
}
<div class="container overflow-scroll" style="max-height:400px">
    <table class="table min-vw-80">
        <thead>
            <tr>
                <th class="w-25">日期</th>
                <th class="w-50">內容</th>
                <th>動作</th>
            </tr>
        </thead>
        <tbody>
            <form action="~/Home/Index" method="post">
                <tr>
                    <td>@message["pdate"].ToString("yy-MM-dd, HH:mm")</td>
                    <td>@message["content"]</td>
                    <td>
                        <button class="btn btn-success" type="submit" name="btn" value="2">修改</button>
                        <button class="btn btn-danger" type="submit" name="btn" value="3">刪除</button>
                    </td>
                </tr>
                <input type="hidden" name="" value='@message["id"]' />
            </form>
        </tbody>
    </table>
</div>


3. 包含三筆字典資料 List 定義並傳值

List<Dictionary<string, dynamic>> messages = new List<Dictionary<string, dynamic>>
{
    new Dictionary<string, dynamic> {
        {"id", 1}, {"pdate", DateTime.Now}, {"content", "資管三甲"}
    },
    new Dictionary<string, dynamic> {
        {"id", 2}, {"pdate", DateTime.Now}, {"content", "資管三乙"}
    },
    new Dictionary<string, dynamic> {
        {"id", 3}, {"pdate", DateTime.Now}, {"content", "資管三丙"}
    }
};
ViewBag.messages = messages;
return View();


4. Index檢視畫面多筆資料顯示(List)

@{
    List<Dictionary<string, dynamic>> messages = ViewBag.messages as List<Dictionary<string, dynamic>>;
}
<div class="container overflow-scroll" style="max-height:400px">
    <table class="table min-vw-80">
        <thead>
            <tr>
                <th class="w-25">日期</th>
                <th class="w-50">內容</th>
                <th>動作</th>
            </tr>
        </thead>
        <tbody>
            @foreach (Dictionary<string, dynamic> m in messages)
            {
                <form action="~/Home/Index" method="post">
                    <tr>
                        <td>@m["pdate"].ToString("yy-MM-dd, HH:mm")</td>
                        <td>@m["content"]</td>
                        <td>
                            <button class="btn btn-success" type="submit" name="btn" value="2">修改</button>
                            <button class="btn btn-danger" type="submit" name="btn" value="3">刪除</button>
                        </td>
                    </tr>
                    <input type="hidden" name="" value='@m["id"]' />
                </form>
            }
        </tbody>
    </table>
</div>


5. 定義 Message 類別(Model 資料類別)

public class Message
{
    public int Id { get; set; }
    public DateTime Pdate { get; set; }
    public string Content { get; set; }

    public Message(int i, DateTime p, string c)
    {
        this.Id = i;
        this.Pdate = p;
        this.Content = c;
    }
}


6. Controller 同時使用 Dictionary 與 Message 物件

public IActionResult Index(int id, int btn)
{
    Dictionary<string, dynamic> message = new Dictionary<string, dynamic> {
        {"id", 1 }, {"pdate", DateTime.Now}, {"content", "資管三乙"}
    };
    Message _message = new Message(1, DateTime.Now, "資管三乙");

    List<Dictionary<string, dynamic>> messages = new List<Dictionary<string, dynamic>>
    {
        new Dictionary<string, dynamic> {
            {"id", 1 }, {"pdate", DateTime.Now}, {"content", "資管三甲"}
        },
        new Dictionary<string, dynamic> {
            {"id", 2 }, {"pdate", DateTime.Now}, {"content", "資管三乙"}
        },
        new Dictionary<string, dynamic> {
            {"id", 3 }, {"pdate", DateTime.Now}, {"content", "資管三丙"}
        }
    };
    List<Message> _messages = new List<Message>
    {
        new Message(1, DateTime.Now, "資管三甲"),
        new Message(2, DateTime.Now, "資管三乙"),
        new Message(3, DateTime.Now, "資管三丙")
    };

    ViewBag.messages = messages;

    return View(_messages);
}


7. Index檢視畫面,使用強型別 Model 顯示多筆 Message

@model List<WebApplication1.Models.Message>

<div class="container overflow-scroll" style="max-height:400px">
    <table class="table min-vw-80">
        <thead>
            <tr>
                <th class="w-25">日期</th>
                <th class="w-50">內容</th>
                <th>動作</th>
            </tr>
        </thead>
        <tbody>
            @foreach (Message m in Model) {
                <form action="~/Home/Index" method="post">
                    <tr>
                        <td>@m.Pdate.ToString("yy-MM-dd, HH:mm")</td>
                        <td>@m.Content</td>
                        <td>
                            <button class="btn btn-success" type="submit" name="btn" value="2">修改</button>
                            <button class="btn btn-danger" type="submit" name="btn" value="3">刪除</button>
                        </td>
                    </tr>
                    <input type="hidden" name="id" value='@m.Id' />
                </form>
            }
        </tbody>
    </table>
</div>


這份 Markdown 內容幫你整理完整,涵蓋字典、強型別 Model、多筆資料的 Controller 與 View 表示方式,方便你直接參考與複製使用。

附件 127
根目錄 (6)
appsettings.Development.json 0.1 KB · 2025/11/06 06:31
sln 1.1 KB · 2025/11/06 06:31
appsettings.json 0.1 KB · 2025/11/06 06:31
csproj 0.2 KB · 2025/11/06 06:31
Program.cs 0.7 KB · 2025/11/06 06:31
csproj.user 0.2 KB · 2025/11/06 06:31
wwwroot (1)
Views (2)
Properties (1)
obj (5)
Models (2)
Controllers (1)
bin (0)
vs (0)
appsettings.Development.json
0.1 KB
sln
1.1 KB
appsettings.json
0.1 KB
csproj
0.2 KB
Program.cs
0.7 KB
csproj.user
0.2 KB
wwwroot_favicon.ico
wwwroot_favicon.ico
wwwroot/favicon.ico
5.3 KB
wwwroot_lib_jquery-validation-unobtrusive_jquery.validate.unobtrusive.min.js
wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
5.7 KB
wwwroot_lib_jquery-validation-unobtrusive_jquery.validate.unobtrusive.js
wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
18.9 KB
wwwroot_lib_jquery-validation-unobtrusive_LICENSE.txt
wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt
1.1 KB
wwwroot_lib_jquery-validation_LICENSE.md
wwwroot/lib/jquery-validation/LICENSE.md
1.1 KB
wwwroot_lib_jquery-validation_dist_additional-methods.js
wwwroot/lib/jquery-validation/dist/additional-methods.js
51.7 KB
wwwroot_lib_jquery-validation_dist_additional-methods.min.js
wwwroot/lib/jquery-validation/dist/additional-methods.min.js
21.7 KB
wwwroot_lib_jquery-validation_dist_jquery.validate.js
wwwroot/lib/jquery-validation/dist/jquery.validate.js
50.0 KB
wwwroot_lib_jquery-validation_dist_jquery.validate.min.js
wwwroot/lib/jquery-validation/dist/jquery.validate.min.js
24.0 KB
wwwroot_lib_jquery_LICENSE.txt
wwwroot/lib/jquery/LICENSE.txt
1.1 KB
wwwroot_lib_jquery_dist_jquery.min.js
wwwroot/lib/jquery/dist/jquery.min.js
87.4 KB
wwwroot_lib_jquery_dist_jquery.min.map
wwwroot/lib/jquery/dist/jquery.min.map
134.7 KB
wwwroot_lib_jquery_dist_jquery.js
wwwroot/lib/jquery/dist/jquery.js
281.8 KB
wwwroot_lib_bootstrap_LICENSE
wwwroot/lib/bootstrap/LICENSE
1.1 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.bundle.min.js
wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js
76.6 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.bundle.js
wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js
203.6 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.bundle.js.map
wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map
415.7 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.esm.js
wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js
135.8 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.bundle.min.js.map
wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map
319.6 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.esm.js.map
wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map
281.6 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.esm.min.js
wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js
70.3 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.esm.min.js.map
wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map
217.3 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.js
wwwroot/lib/bootstrap/dist/js/bootstrap.js
144.7 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.js.map
wwwroot/lib/bootstrap/dist/js/bootstrap.js.map
282.7 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.min.js
wwwroot/lib/bootstrap/dist/js/bootstrap.min.js
58.1 KB
wwwroot_lib_bootstrap_dist_js_bootstrap.min.js.map
wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map
212.1 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.css
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css
68.9 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css
50.1 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map
191.9 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map
114.7 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.rtl.css
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css
69.0 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.rtl.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map
191.9 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.rtl.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css
50.2 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.css
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css
5.7 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-grid.rtl.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map
114.8 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css
4.5 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map
102.7 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map
34.5 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.rtl.css
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css
5.7 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.rtl.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css
4.6 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.rtl.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map
102.7 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-reboot.rtl.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map
40.6 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.css
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css
69.9 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css
52.2 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map
187.8 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map
109.3 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.rtl.css
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css
69.8 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.rtl.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css
52.2 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.rtl.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map
187.7 KB
wwwroot_lib_bootstrap_dist_css_bootstrap-utilities.rtl.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map
109.1 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.css
wwwroot/lib/bootstrap/dist/css/bootstrap.css
199.4 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
524.0 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap.min.css
158.9 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
438.6 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.rtl.css
wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css
199.0 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.rtl.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map
523.9 KB
wwwroot_js_site.js
wwwroot/js/site.js
0.2 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.rtl.min.css
wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css
159.0 KB
wwwroot_css_site.css
wwwroot/css/site.css
0.4 KB
wwwroot_lib_bootstrap_dist_css_bootstrap.rtl.min.css.map
wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map
645.5 KB
Views__ViewImports.cshtml
Views/ViewImports.cshtml
0.1 KB
Views__ViewStart.cshtml
Views/ViewStart.cshtml
0.0 KB
Views_Shared_Error.cshtml
Views/Shared/Error.cshtml
0.9 KB
Views_Shared__Layout.cshtml
Views/Shared/Layout.cshtml
2.3 KB
Views_Shared__Layout.cshtml.css
Views/Shared/Layout.cshtml.css
0.9 KB
Views_Shared__ValidationScriptsPartial.cshtml
Views/Shared/ValidationScriptsPartial.cshtml
0.2 KB
Views_Home_Index.cshtml
Views/Home/Index.cshtml
1.3 KB
Views_Home_Privacy.cshtml
Views/Home/Privacy.cshtml
0.1 KB
Properties_launchSettings.json
Properties/launchSettings.json
1.0 KB
obj_project.assets.json
obj/project.assets.json
2.5 KB
obj_project.nuget.cache
obj/project.nuget.cache
0.2 KB
obj_.csproj.nuget.dgspec.json
obj/csproj.nuget.dgspec.json
2.5 KB
obj_.csproj.nuget.g.props
obj/csproj.nuget.g.props
1.3 KB
obj_.csproj.nuget.g.targets
obj/csproj.nuget.g.targets
0.1 KB
obj_Debug_net8.0_.NETCoreAppVersionv8.0.AssemblyAttributes.cs
obj/Debug/net8.0/NETCoreAppVersionv8.0.AssemblyAttributes.cs
0.2 KB
obj_Debug_net8.0_ApiEndpoints.json
obj/Debug/net8.0/ApiEndpoints.json
0.0 KB
obj_Debug_net8.0_staticwebassets.development.json
obj/Debug/net8.0/staticwebassets.development.json
9.5 KB
obj_Debug_net8.0_staticwebassets.build.json
obj/Debug/net8.0/staticwebassets.build.json
51.6 KB
obj_Debug_net8.0_apphost.exe
obj/Debug/net8.0/apphost.exe
135.5 KB
obj_Debug_net8.0_.AssemblyInfo.cs
obj/Debug/net8.0/AssemblyInfo.cs
1.0 KB
obj_Debug_net8.0_staticwebassets.pack.json
obj/Debug/net8.0/staticwebassets.pack.json
14.5 KB
obj_Debug_net8.0_.AssemblyInfoInputs.cache
obj/Debug/net8.0/AssemblyInfoInputs.cache
0.1 KB
obj_Debug_net8.0_.csproj.BuildWithSkipAnalyzers
obj/Debug/net8.0/csproj.BuildWithSkipAnalyzers
0 KB
obj_Debug_net8.0_.assets.cache
obj/Debug/net8.0/assets.cache
0.2 KB
obj_Debug_net8.0_.csproj.CoreCompileInputs.cache
obj/Debug/net8.0/csproj.CoreCompileInputs.cache
0.1 KB
obj_Debug_net8.0_.csproj.FileListAbsolute.txt
obj/Debug/net8.0/csproj.FileListAbsolute.txt
2.9 KB
obj_Debug_net8.0_.GeneratedMSBuildEditorConfig.editorconfig
obj/Debug/net8.0/GeneratedMSBuildEditorConfig.editorconfig
2.4 KB
obj_Debug_net8.0_.dll
obj/Debug/net8.0/dll
52.0 KB
obj_Debug_net8.0_.genruntimeconfig.cache
obj/Debug/net8.0/genruntimeconfig.cache
0.1 KB
obj_Debug_net8.0_.GlobalUsings.g.cs
obj/Debug/net8.0/GlobalUsings.g.cs
0.8 KB
obj_Debug_net8.0_.MvcApplicationPartsAssemblyInfo.cache
obj/Debug/net8.0/MvcApplicationPartsAssemblyInfo.cache
0 KB
obj_Debug_net8.0_.RazorAssemblyInfo.cache
obj/Debug/net8.0/RazorAssemblyInfo.cache
0.1 KB
obj_Debug_net8.0_.RazorAssemblyInfo.cs
obj/Debug/net8.0/RazorAssemblyInfo.cs
0.7 KB
obj_Debug_net8.0_.pdb
obj/Debug/net8.0/pdb
35.0 KB
obj_Debug_net8.0_staticwebassets_msbuild.build..props
obj/Debug/net8.0/staticwebassets/msbuild.build..props
0.1 KB
obj_Debug_net8.0_staticwebassets_msbuild.buildMultiTargeting..props
obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting..props
0.1 KB
obj_Debug_net8.0_staticwebassets_msbuild.buildTransitive..props
obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive..props
0.1 KB
obj_Debug_net8.0_scopedcss_Views_Shared__Layout.cshtml.rz.scp.css
obj/Debug/net8.0/scopedcss/Views/Shared/Layout.cshtml.rz.scp.css
1.0 KB
obj_Debug_net8.0_scopedcss_projectbundle_.bundle.scp.css
obj/Debug/net8.0/scopedcss/projectbundle/bundle.scp.css
1.1 KB
obj_Debug_net8.0_staticwebassets_msbuild..Microsoft.AspNetCore.StaticWebAssets.props
obj/Debug/net8.0/staticwebassets/msbuild..Microsoft.AspNetCore.StaticWebAssets.props
59.1 KB
obj_Debug_net8.0_scopedcss_bundle_.styles.css
obj/Debug/net8.0/scopedcss/bundle/styles.css
1.1 KB
Models_ErrorViewModel.cs
Models/ErrorViewModel.cs
0.2 KB
obj_Debug_net8.0_refint_.dll
obj/Debug/net8.0/refint/dll
15.5 KB
Models_Message.cs
Models/Message.cs
0.4 KB
Controllers_HomeController.cs
Controllers/HomeController.cs
1.8 KB
bin_Debug_net8.0_.deps.json
bin/Debug/net8.0/deps.json
0.4 KB
bin_Debug_net8.0_.runtimeconfig.json
bin/Debug/net8.0/runtimeconfig.json
0.4 KB
bin_Debug_net8.0_.staticwebassets.runtime.json
bin/Debug/net8.0/staticwebassets.runtime.json
9.5 KB
vs_v17_.futdcache.v2
vs/v17/futdcache.v2
0.1 KB
bin_Debug_net8.0_.exe
bin/Debug/net8.0/exe
135.5 KB
vs_v17_.suo
vs/v17/suo
34.5 KB
vs_v17_DocumentLayout.backup.json
vs/v17/DocumentLayout.backup.json
5.6 KB
vs_v17_DocumentLayout.json
vs/v17/DocumentLayout.json
5.6 KB
vs_FileContentIndex_3ec43aba-ae4c-48e3-ac31-980b179055ac.vsidx
vs/FileContentIndex/3ec43aba-ae4c-48e3-ac31-980b179055ac.vsidx
1.1 KB
vs_FileContentIndex_56fa8d7a-ee2c-48dd-9491-4887cd3d4cf3.vsidx
vs/FileContentIndex/56fa8d7a-ee2c-48dd-9491-4887cd3d4cf3.vsidx
0.1 KB
vs_DesignTimeBuild_.dtbcache.v2
vs/DesignTimeBuild/dtbcache.v2
141.1 KB
vs_config_applicationhost.config
vs/config/applicationhost.config
81.2 KB
vs_FileContentIndex_78b064ee-a174-4fa2-aaab-0baaf5772a76.vsidx
vs/FileContentIndex/78b064ee-a174-4fa2-aaab-0baaf5772a76.vsidx
1.61 MB
vs_ProjectEvaluation_.metadata.v9.bin
vs/ProjectEvaluation/metadata.v9.bin
1.3 KB
vs_ProjectEvaluation_.projects.v9.bin
vs/ProjectEvaluation/projects.v9.bin
33.7 KB
vs_ProjectEvaluation_.strings.v9.bin
vs/ProjectEvaluation/strings.v9.bin
152.1 KB