Hi my Article model has CategoryModel and TagModel list. In java script i can send article Header,Category,CoverImageUrl and Art content. But how can send Tags with my function? Here my source codes like:
NewArticle View:
@model projectCoderWho.Model.Model.ArticleModel
@{
ViewBag.Title = "NewArticle";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h4>Yeni Makale Yaz</h4>
<span class="alert-success">Makale Başlığı</span>
<br />
<input type="text" id="Header" name="Header" class="form-control" placeholder="Makale Bağlığınız..." required />
<br />
<br />
<span class="alert-success">Cover Img Url</span>
<br />
<input type="text" id="CoverImageUrl" name="CoverImageUrl" class="form-control" placeholder="Makaleniz için bir görsel..." required />
<br />
<br />
<span class="alert-success">Kategori</span>
<br />
<select class="form-control" id="Category" name="Category">
<option data-ng-repeat="cat in Categories" value="{{cat.Id}}">{{cat.CategoryName}}</option>
</select>
<br />
<br />
<span class="alert-success">İcerik</span>
<br />
<textarea id="ArtContent" name="ArtContent" placeholder="İçeriği giriniz..." cols="150" rows="10" class="form-control" style="resize:vertical" required></textarea>
<br />
<input type="text" id="Tag" name="Tag" class="form-control" placeholder="Makalenize uygun taglari yazınız...(Virgül ile ayırınız)" required />
<br />
<br />
<div class="widget categories" style="padding:0px">
<ul>
<li><a class="form-control" data-ng-click="writeNewArticle()" style="text-align:center">Makale Oluştur</a></li>
</ul>
</div>
blogController.js(writeArticle Section):
$scope.writeNewArticle = function () {
$scope.NewArticle.Header = document.getElementById("Header").value;
$scope.NewArticle.ArtContent = CKEDITOR.instances.ArtContent.getData();
$scope.NewArticle.CoverImageUrl = document.getElementById("CoverImageUrl").value;
$scope.NewArticle.Category.Id = document.getElementById("Category").value;
var tags = document.getElementById("Tag").value;
ArticleApi.writeArticle($scope.NewArticle)
.success(function () {
alert("bok oldu")
})
};
articleApiService.js:
angular.module('BlogAppModule')
.factory('ArticleApi', function CategoryApiFactory($http) {
return {
all: function () {
return $http({ method: "GET", url: "Buraya Article Api gelecek" });
},
writeArticle: function (NewArticle) {
return $http({ method: "POST", url: "/Article/NewArticle", data: NewArticle })
}
}
});
And ArticleController.cs(NewArticle Section):
[HttpPost]
public ActionResult NewArticle(ArticleModel NewArticle)
{
if (NewArticle != null)
{
//Do something like add to database...
}
return RedirectToAction("Index", "Home");
}
My ArticleModel Like this:
public class ArticleModel
{
public virtual int Id { get; set; }
public virtual string Header { get; set; }
public virtual string ArtContent { get; set; }
public virtual DateTime PublishDate { get; set; }
public virtual UserModel Author { get; set; }
public virtual IList<CommentModel> Comments { get; set; }
public virtual CategoryModel Category { get; set; }
public virtual string CoverImageUrl { get; set; }
public virtual DateTime EditDate { get; set; }
public virtual UserModel EditedBy { get; set; }
public virtual IList<TagModel> Tags { get; set; }
public virtual int Views { get; set; }
public virtual bool IsActive { get; set; }
public ArticleModel()
{
Comments = new List<CommentModel>();
Tags = new List<TagModel>();
}
}
As i told i can catch others but i can't add tags into article model. What should i do??