Я пытаюсь заменить содержимое в своем теле сообщения, я использую WYSIWYG редактор. Я ввожу текст «Заполнитель» и пытаюсь заменить его на ASP. NET Идентификационные данные пользователя в моем контроллере.
У меня есть метод расширения для ASP. NET Идентификация:
public static string GetUserFirstName(this IIdentity identity)
{
var db = ApplicationDbContext.Create();
var user = db.Users.FirstOrDefault(u => u.UserName.Equals(identity.Name));
return user != null ? user.FirstName : String.Empty;
}
Это мое действие создания в моем контроллере
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Image,TypeId,ModalName,Title,Description,Body,CreatedAt")] Document document, HttpPostedFileBase Image)
{
if (ModelState.IsValid)
{
// set timestamp
document.CreatedAt = DateTime.Now;
if (!string.IsNullOrEmpty(document.Body))
{
document.Body.ToLower().Replace("Placeholder", User.Identity.Name);
}
//extract first three characters of the document title as the Id for the modal pop up
document.ModalName = document.Title.Substring(0, 3);
db.Documents.Add(document);
db.SaveChanges();
// redirect to index page
return RedirectToAction("Index");
}
ViewBag.TypeId = new SelectList(db.DocumentTypes, "Id", "Type", document.TypeId);
return View(document);
}
Это представление
<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="@item.Title" aria-hidden="true" id="@item.ModalName">
<div class="modal-dialog modal-lg">
<div class="modal-content">
@Html.Raw(item.Body)
</div>
</div>
</div>