2014-10-30 38 views
0

我正在创建一个网页,其中包含许多文本输入框,如下面的示例所示。如何从本地网页保存文本值,并有可能有网页前端,C#后端?

<input type="text" id="textID" name="textName" placeholder="Enter your text here"> 

我会在我想从每个文本框抓住所有的值在页面底部有一个按钮,最好如果可能的话序列化为XML格式,然后在本地保存。如果序列化是不可能的,保存到TXT/DOC /等将工作。我正在使用JavaScript来完成这项工作。

我已经想出了如何让我的按钮点击时保存我本地选择的文档,但我必须使用网址来拉,从而只保存页面源代码。那对我没有好处。我无法弄清楚如何放置下面的save.href。 save.href强制使用我不想要的URL。

<HTML> 
//web page stuff 

//Many of these inputs like this one below 
<input type="text" id="textID" name="textName" placeholder="Enter your text here"> 

<script language="javascript" type="text/javascript"> 

function SaveData() 
{ 
    var fileURL = "http://localhost:51088/index.html"; 
    var fileName = "test.txt"; 


    if (!window.ActiveXObject) 
    { 
    var save = document.createElement('a'); 
    save.href = fileURL; 
    save.target = '_blank'; 
    save.download = fileName || 'unknown'; 

    var event = document.createEvent('Event'); 
    event.initEvent('click', true, true); 
    save.dispatchEvent(event); 
    (window.URL || window.webkitURL).revokeObjectURL(save.href); 
    } 

    // for IE 
    else if (!!window.ActiveXObject && document.execCommand) 
    { 
    var _window = window.open(fileURL, '_blank'); 
    _window.document.close(); 
    _window.document.execCommand('SaveAs', true, fileName || fileURL) 
    _window.close(); 
} 
} 
</script> 
</HTML> 

这上面的代码生成在本地下载到我的盒子,但它只是为我提供的URL的网页源代码的文本文件。我如何从文本框中获取所有值并将其保存到本地?

我知道我可以像下面这个例子一样来获取文本框的值,但是我怎样才能获得这个值并保存呢?

var textBoxValue = document.getElementById("textID").value; 

而我最终想借此额外的路径是以某种方式编写,可以直接绑定到网页上的文本框C#业务层的代码。如果不绑定,至少将值传递给C#代码。如果我可以实现这一点,那么我可以在C#中处理格式化,保存等。是否有可能拥有一个HTML网页,JavaScript作为用户界面,C#作为后端?

回答

0

我已经设法弄清楚如何从每个文本框中获取值并将它们保存到文本文件中。代码示例如下。现在研究如何把这个XML格式。

var userInput = document.getElementById("userInputId").value; 

var fileURL = 'data:application/notepad;charset=utf-8,' + encodeURIComponent(userInput); 
var fileName = "test.txt"; 


if (!window.ActiveXObject) { 
    var save = document.createElement('a'); 
    save.href = fileURL; 

    save.target = '_blank'; 
    save.download = fileName || 'unknown'; 

    var event = document.createEvent('Event'); 
    event.initEvent('click', true, true); 
    save.dispatchEvent(event); 
    (window.URL || window.webkitURL).revokeObjectURL(save.href); 
} 

// for IE 
else if (!!window.ActiveXObject && document.execCommand) { 
    var _window = window.open(fileURL, '_blank'); 
    _window.document.close(); 
    _window.document.execCommand('SaveAs', true, fileName || fileURL) 
    _window.close(); 
} 
0

是否可以有一个HTML网页,JavaScript作为UI和C#作为后端?

是的,这是可能的,至少使用一个网站项目,甚至从Visual Studio的Web应用程序项目。

此外,在How to write data to textfile using JavaScript的答案可能是您正在寻找解决保存文本框值为文本文件。

+0

是否有链接指向我如何使用HTML作为UI和C#作为后端的一些资源?此外,我检查了写入文本文件的链接,但没有成功。 – 2014-10-30 20:53:32

+0

这是你在找什么?它非常简短,但解释了关键和如何。 http://msdn.microsoft.com/en-us/library/ms243156(v=vs.100) – 2014-10-30 21:38:25