簡體   English   中英

錯誤的選擇標記呈現 id - asp-for 屬性

[英]Wrong select tag rendered id - asp-for property

這是我的代碼

namespace Cinema.WebCore.Pages.MovieDateHall
{
public class CreateModel : PageModel
{
    private readonly Cinema.WebCore.Data.CinemaContext _context;

    public CreateModel(Cinema.WebCore.Data.CinemaContext context)
    {
        _context = context;
    }

    [BindProperty]
    public SelectList Movies { get; set; }

    public IActionResult OnGet()
    {
        MovieDateHallSeats movieDateHall = new MovieDateHallSeats();
        movieDateHall.Movies = _context.Movies.ToList();

        Movies = new SelectList(movieDateHall.Movies, "Id", "MovieTitle");

        return Page();
    }

}
}

和前端代碼是

@page

@model Cinema.WebCore.Pages.MovieDateHall.CreateModel

<select asp-for="Movies" asp-items="Model.Movies">
   <option value="">Pick one</option>
</select>

它可以工作,但 select 標簽的渲染輸出有multiple=multiple ,這不是我需要的。

<select id="Movies" multiple="multiple" name="Movies"> <option value="">Pick one</option> <option value="1">Matrix</option> </select>

我需要的是...

<select id="MovieId" name="Movies"> <option value="">Pick one</option> <option value="1">Matrix</option> </select>

我在代碼隱藏處的綁定不正確嗎?

[BindProperty]
public SelectList Movies { get; set; }

你需要擁有另一處房產

   public string SelectedMovie {get;set;}

並將其用於 asp-for

我認為您以錯誤的方式使用select 對於asp-for你應該把你的屬性句柄選擇的值

<select asp-for="MovieId" asp-items="Model.Movies">
   <option value="">Pick one</option>
</select>

例子:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Price { get; set; }

    public int CompanyId { get; set; }
    public Company Company { get; set; }
}

///

form asp-action="Create" asp-controller="Home"  asp-antiforgery="true">
    <div>
        <div>
            <label asp-for="Name"></label>
            <input type="text" asp-for="Name" />
        </div>
        <div>
            <label asp-for="Price"></label>
            <input asp-for="Price" />
        </div>
        <div>
            <label asp-for="CompanyId"></label>
            <select asp-for="CompanyId" asp-items="ViewBag.Companies"></select>
        </div>
        <div>
            <input type="submit" value="Save" />
        </div>
    </div>
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM