مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mina.ab

عضویت از 1394/11/26

چگونه یک آرایه در model خود تعریف کنیم؟

  • دوشنبه 30 فروردین 1395
  • 11:28
تشکر میکنم

سلام. من در برنامه ی خودم یک مدل به نام news دارم و این مدل به شرح زیر است:

public class News
    {
        [Key]
        public int id { get; set; }
        [Display(Name="موضوع")]
        [DataType(DataType.MultilineText)]
        public string Subjest { get; set; }
          [DataType(DataType.MultilineText)]
          [Display(Name = "متن")]
        public string Body { get; set; }
       [ScaffoldColumn(false)]
          public string SubBody { get; set; }
          [Display(Name = "تاریخ")]
        public string Date { get; set; }
          [Display(Name = "تگ ها")]
          public string[] tags { get; set; }
        [Display(Name = "تصویر")]
          public string PicName { get; set; }

    }

ور برای اضافه کردن یک آیتم به این مدل در Controllerمربوطه action زیر را دارم:

 [HttpPost]
        public ActionResult News_Add(HttpPostedFileBase image, News model, string Tag)
        {
            if (image != null && image.ContentLength > 0)
            {
                var path = Path.Combine(Server.MapPath("~/Content/News"), Path.GetFileName(image.FileName));
                image.SaveAs(path);
                model.PicName = image.FileName;
                model.SubBody = Get_Charecter(model.Body,300);
                model.tags = Tag.Split(',');
                _db.tbl_News.Add(model);
                _db.SaveChanges();
                return RedirectToAction("News_List");
            }
            return View();
        }

 و view آن به شرح زیر است:

@model PaperShare.Models.News

@{
    ViewBag.Title = "News_Add";
    Layout = "~/Views/Shared/_Admin.cshtml";
}

<h2>اضافه کردن خبر</h2>

@using (Html.BeginForm("News_Add", "Admin", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <fieldset>
      

        <div class="editor-label">
            @Html.LabelFor(model => model.Subjest)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Subjest)
            @Html.ValidationMessageFor(model => model.Subjest)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Body)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Body)
            @Html.ValidationMessageFor(model => model.Body)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Date)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Date)
            @Html.ValidationMessageFor(model => model.Date)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.tags)
        </div>
        <div class="editor-field">
           <input type="text" name="Tag" />
        </div>

        <div>
            <input type="file" name="image" />
        </div>
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}


اما پس از اضافه کردن آیتم به جدولم اصلا تگ ها وارد نمیشود حتی در قسمت  Server Explorer هم ستون tag را ندارم

بعد از گذاشتن برک پوینت هم در model .tags  هیچی نداشتم و null بود.

لطفا راهنمایی کنید.ممنون

 

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 30 فروردین 1395
  • 12:47

در مدل نام را Tags قرار دادیذ ولی در ویو tag

بررسی کنید شاید مشکل از این قسمت باشد

کاربر سایت

mina.ab

عضویت از 1394/11/26

  • سه شنبه 31 فروردین 1395
  • 07:54

سلام. خیر اون نام صرفا برای این است که در پارامتر ورودی action مقدارinput را بخوانم

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)