ASP.NET MVC вставляет путь к документу в текстовое поле для чтения XML-файла рецепта нажатием кнопкиC#

Место общения программистов C#
Ответить
Anonymous
 ASP.NET MVC вставляет путь к документу в текстовое поле для чтения XML-файла рецепта нажатием кнопки

Сообщение Anonymous »

Я новичок в ASP.NET MVC и хочу создать веб-приложение с рецептами. В этом приложении я хочу читать XML-файлы со своего компьютера или мобильного телефона. По этой причине я хочу скопировать расположение файла в текстовый файл и прочитать его после нажатия кнопки отправки.
Мой index.cshtml:

Код: Выделить всё

@model IEnumerable
@{
ViewData["Title"] = "Index";
}

Index


Create New

XML Bestand:


 Create From XML 




@Html.DisplayNameFor(model => model.BeerName)
@Html.DisplayNameFor(model => model.BrewDate)
@Html.DisplayNameFor(model => model.BeerType)
@Html.DisplayNameFor(model => model.Kooktijd)
@Html.DisplayNameFor(model => model.GildelidId
@Html.DisplayNameFor(model => model.GildeLid)
@Html.DisplayNameFor(model => model.OG)
@Html.DisplayNameFor(model => model.FG)
@Html.DisplayNameFor(model => model.ABV)
@Html.DisplayNameFor(model => model.IBU)




@foreach (var item in Model)
{

@Html.DisplayFor(modelItem => item.BeerName
@Html.DisplayFor(modelItem => item.BrewDate
@Html.DisplayFor(modelItem => item.BeerType)
@Html.DisplayFor(modelItem => item.Kooktijd)
@Html.DisplayFor(modelItem => item.GildelidId)
@Html.DisplayFor(modelItem => item.GildeLid)
@Html.DisplayFor(modelItem => item.OG)
@Html.DisplayFor(modelItem => item.FG)
@Html.DisplayFor(modelItem => item.ABV)
@Html.DisplayFor(modelItem => item.IBU) 

Edit |
Details |
Delete


}


В моем поле ввода есть имя и идентификатор местоположения. С помощью asp-action="CreateFromXML" я хочу создать новый рецепт из этого XML-файла.
В моем контроллере есть этот код:

Код: Выделить всё

// GET:Beers/CreateFromXML
public IActionResult CreateFromXML(IFormCollection form)
{
var    yourValue = $('#Locatie').val();
//var    value     = collection["XMLbestand"];
string Name      = form["Name"];
//Viewbag.Name     = Name;
var    filename  = "D:\\OneDrive\\De Roode Toren\\gildewedstrijd\\Rye-Rasp Taz 1.xml";

Bestandlocatie loc = new Bestandlocatie()
{
Locatie = "XMLbestand"
};

XmlDocument doc = new XmlDocument();
doc.Load(filename);

List newbeers = new List();

string   name       = "";
DateTime date       = DateTime.Now;
string   brewer     = "";
decimal  abv        = 0;
decimal  og         = 0;
decimal  fg         = 0;
int      ibu        = 0;
int      boiltime   = 0;
string   style      = "";

foreach(XmlNode node in doc.DocumentElement.ChildNodes)
{
foreach(XmlNode node1 in node)
{
DbContextOptions options = new DbContextOptions();

if (node1.Name == "NAME") name = node1.InnerText;

if (node1.Name == "DATE") date = DateTime.Parse(node1.InnerText);

if (node1.Name == "BREWER") brewer = node1.InnerText;

if (node1.Name == "EST_ABV") abv = decimal.Parse(node1.InnerText.Replace(".", ","));

if (node1.Name == "IBU") ibu = (int) decimal.Parse(node1.InnerText.Replace(".", ","));

if (node1.Name == "EST_OG") og = decimal.Parse(node1.InnerText.Replace(".", ","));

if (node1.Name == "EST_FG") fg = decimal.Parse(node1.InnerText.Replace(".", ","));

if (node1.Name == "BOIL_TIME") ibu = (int) decimal.Parse(node1.InnerText.Replace(".", ","));

if (node1.Name == "STYLE")
{
foreach(XmlNode node2 in node1)
{
if (node2.Name == "NAME") style = node2.InnerText;

if (node2.Name == "STYLE_LETTER") style += " (" + node2.InnerText + ")";
}
}
}

}

Beer beer = new Beer() {
BeerName   = name,
ABV        = abv,
BeerType   = style,
BrewDate   = date,
GildeLid   = brewer,
GildelidId = 4,
FG         = (decimal?) fg,
OG         = (decimal?) og,
Kooktijd   = boiltime,
IBU        = ibu,
};

return View( beer );
}
Код работает, но мне нужно использовать местоположение файла в коде.
Как мне передать местоположение файла из текстового поля в код?


Подробнее здесь: https://stackoverflow.com/questions/798 ... le-by-butt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»