Ich baue ein Umbraco7-Paket und bin ein wenig still. Ich habe sehr wenig Erfahrung mit Angular und C# und was ich versuche zu tun ist eine Import-Option hinzufügen, wo ein Backoffice-Benutzer eine xls-Datei importieren und eine vorhandene Datenbanktabelle mit den xls-Inhalten auffüllen kann.Importieren von Dateien mit Angular.js und C#
Das ist, was ich bis jetzt habe, ich bin nicht sicher, wie man es erhält, um die Datei an der ersten Stelle zu speichern, geschweige denn die Werte aus der XLS-Datei zu extrahieren.
HTML
// This is the view (table.html)
// Excluding the export blank xls file table.
<div class="import-div">
<input type="file" name="MyFile" />
<input type="submit" class="btn btn-danger" ng-click="ButtonClickHandler()" />
</div>
Angularjs-Controller
Datei// Here is my js controller file:
angular.module("umbraco")
.controller("ImportCtrl", function ($scope, keyResource) {
$scope.ButtonClickHandler = function() {
console.log("I was clicked!");
};
});
C#-Controller
//This is the C# controller.
using AngularUmbracoPackage.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using System.Web.Security;
using umbraco.cms.businesslogic.member;
using Umbraco.Web.Mvc;
using Umbraco.Core.Persistence;
using System.Configuration;
using Umbraco.Core.Logging;
using System.Data;
using System.Text;
using System.IO;
using System.Web;
using System.Net.Http;
namespace AngularUmbracoPackage.App_Code
{
[HttpPost]
public class ImportNewDictionaryController
{
[HttpPost]
public ActionResult importFile()
{
public string fileName;
public string DictionaryKey;
var db = UmbracoContext.Application.DatabaseContext.Database;
var insert = new Sql("INSERT INTO cmsDictionary VALUES('" + DictionaryKey + "'");
}
}
}
mir jemand Kann keine Links geben, die helfen können, oder mich durch das?
Das Problem, das Sie hier haben, ist der Mangel an Kommunikation zwischen Ihrem AngularJS Controller (das vordere Ende ist - was bedeutet, dass es durch den Browser ausgeführt wird) und Ihre C# -Klasse (das auf Server-Seite ausgeführt wird). Dies kann erreicht werden, indem Sie Post- und Get-Anfragen an den Server - https://docs.angularjs.org/api/ng/service/$http –
Stellen Sie sicher, auf der Serverseite Sie Ihren C# -Controller anweisen, Daten im JSON-Format zurückgeben so dass eckig wäre in der Lage, es zu interpretieren –
Ich weiß nicht, was du meinst, ich versuche Angular zu verwenden, um die Datei auf dem Server zu speichern. und C# zum Formatieren der Daten aus der gespeicherten Datei, sodass sie in einer Datenbanktabelle abgelegt werden können. –