iT邦幫忙

0

請教asp.net語法1

  • 分享至 

  • xImage

各位大大好!小弟,最近剛學asp.net core mvc,買了一本<ASP.NET Core 7 MVC 範例實戰演練>,作者:奚江華,我目前做ch02範例!
我遇到一些問題,想請教各位大大!

問題1:下面程式碼,我不太懂語法有分別是asp-action和@Html.DisplayNameFor()
和@foreach(),這是甚麼語法呢?
我該如何查到asp-action和@Html.DisplayNameFor()
和@foreach()相關語法呢?

<p>
    <a asp-action="Create">Create New</a>
</p>
<table class="table">
    <thead>
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.Name)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.Country)
            </th>
            <th></th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Name)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Country)
                </td>
                <td>
                    @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
                    @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
                    @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
                </td>
            </tr>
        }
    </tbody>
</table>

不好意思!造成各位大大誤會!我昨天有實作出書中範例,版型畫面被我改掉!我是做完後,有不懂語法才請教各位大大,我就附上自己練習成果,照片如下!下次我在it邦幫這裡發問問題會附上練習成果!請大家多多包涵和諒解!
https://ithelp.ithome.com.tw/upload/images/20240201/20145992kbKRwrggIh.jpg

/images/emoticon/emoticon04.gif/images/emoticon/emoticon17.gif

看更多先前的討論...收起先前的討論...
alien663 iT邦研究生 3 級 ‧ 2024-02-01 08:11:31 檢舉
那是Razor的寫法,直接找官網都有答案,或是你要自己去google其他人的教學也行。

https://learn.microsoft.com/zh-tw/aspnet/core/mvc/views/razor?view=aspnetcore-8.0
froce iT邦大師 1 級 ‧ 2024-02-01 08:12:18 檢舉
https://dotblogs.com.tw/wasichris/2014/11/14/147307
顯示model的名稱,也就是欄位名稱...

這隨便丟google就找的到的東西,你不學著自己google,還要人別砲你?
謝謝大大!我下次,還是問一下chatgpt好了或上網查好了,不好意思造成你們困擾!
harry731 iT邦新手 2 級 ‧ 2024-02-02 07:45:15 檢舉
個人建議,去找個課好好的上一上,或者是YT上找課程邊看邊做
並不是說自學不行,但是若能找到好的課程,會學得更快
謝謝大大
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
rain_yu
iT邦研究生 5 級 ‧ 2024-02-01 08:35:26

不是要砲轟你,但是你的學習方法或是態度有點問題,
你有很多問題是太過於基礎,甚至你稍微看過範本寫法就應該可以懂。
然後發現你一直到參考各種資料,但你卻沒有真的找一個來實作。

asp-action@Html.DisplayNameFor()@foreach() 是ASP.NET Core中的Razor樣板引擎的語法。它們用於在Razor視圖中生成動態的HTML內容。

  • asp-action 是用於在HTML表單或超連結中指定動作方法的屬性。它通常與 <form><a> 元素一起使用,以指定要執行的控制器動作。例如,<form asp-action="Create"> 表示在提交表單時將數據傳遞到名為 "Create" 的控制器動作方法。

  • @Html.DisplayNameFor() 是一個Razor語法中的HTML輔助方法。它用於顯示屬性的友好名稱,通常用於表格的表頭。該方法基於模型的屬性元數據,自動生成友好的標籤名稱。例如,@Html.DisplayNameFor(m => m.Name) 將生成 Name 模型屬性的友好顯示名稱。

  • @foreach() 是Razor語法中的迴圈結構,用於迭代集合中的每個元素並生成相應的HTML內容。它通常與C#代碼塊一起使用,以指定要迭代的集合和要生成的HTML內容。例如,@foreach(var item in Model) 將迭代模型中的集合,可以使用@item來訪問每個元素。

如果想要了解更多關於這些Razor語法的詳細信息,可以參考以下資源:

謝謝大大!我下次,還是問一下chatgpt好了或上網查資料,不好意思造成你們困擾!
這位大大!我有實作出書中範例,雖然畫面版型被我改掉,下次我會放實作照片,我是做完後,發現不懂語法才請教各位大大!請你諒解!

0
純真的人
iT邦大師 1 級 ‧ 2024-02-01 08:45:05

我會先將關鍵字丟到Google看基本解說~

有些不是關鍵字~就是開發者自訂義~

https://ithelp.ithome.com.tw/upload/images/20240201/20061369S7MrsoJpOi.png

謝謝大大!

我要發表回答

立即登入回答