从asp.net应用程序中的javascript获取数据
Get data from javascript in asp.net application
我在asp.net应用程序中有一个apsx页面,其中的元素是根据用户的输入使用javascript构建的。当用户单击"保存"按钮时,我需要在服务器上创建一个包含用户提供的所有数据的文件。问题是这些数据存储在javascript中(在生成的div中)。我需要以某种方式将这些数据输入asp.net按钮点击函数,或者用所有数据作为参数调用该函数。如何实施?
您可以随时尝试在表单的隐藏输入字段中弹出所需的数据,这样您就可以使用Request.Form["fieldName"]
访问它(只需记住给隐藏输入字段一个"name"属性,否则您将花费不必要的时间试图弄清楚为什么不能通过Request.form:p访问它)。这可能是实现这一目标的最简单方法。。。
编辑
为了给你一个快速的想法,这里有一些来自我的一个项目的示例代码,我在其中基于某些动态字段生成隐藏的输入字段,以便在从某些按钮/锚调用Save()
函数后发布回服务器:
function Save() {
$("div.fieldcontainer span.readonly").each(function () {
var fieldId = $(this).attr("id");
var fieldValue = $(this).html();
var ctrl = $("<input type='"text'" id='"" + fieldId + "'" name='"" + fieldId + "'" style='"display:none;'" />");
ctrl.val(fieldValue);
$(this).parent().append(ctrl);
});
$("div.fieldcontainer a.attachment").each(function () {
var fieldId = $(this).attr("id");
var fieldValue = $(this).text() + "|" + $(this).attr("href");
var ctrl = $("<input type='"text'" id='"" + fieldId + "_txtHiddenValue'" name='"" + fieldId + ":txtHiddenValue'" style='"display:none;'" />");
ctrl.val(fieldValue);
$(this).parent().append(ctrl);
});
$("div.fieldcontainer select").each(function () {
var fieldId = $(this).attr("id");
var fieldValue = $(this)[0].value;
var fieldText = $(this).find("option[value='" + fieldValue + "']").text().replace("<", "").replace(">", "");
$(this).attr("id", fieldId + "_ORIGINAL");
var ctrl = $("<input type='"text'" id='"" + fieldId + "'" name='"" + fieldId + "'" style='"display:none;'" />");
ctrl.val(fieldText + "$" + fieldValue);
$(this).parent().append(ctrl);
});
$("div.fieldcontainer input[type='checkbox']").each(function () {
var fieldId = $(this).attr("id");
var fieldValue = $(this).attr("checked");
$(this).attr("id", fieldId + "_ORIGINAL");
var ctrl = $("<input type='"text'" id='"" + fieldId + "'" name='"" + fieldId + "'" style='"display:none;'" />");
ctrl.val(fieldValue);
$(this).parent().append(ctrl);
});
document.form1.submit();
}
您可以实现相同类型的逻辑来循环浏览每个客户端生成的div,并在提交表单之前为每个div创建一个隐藏的输入。这样,当用户忙于与页面交互时,您就不会不必要地用太多额外的标记使页面陷入困境…
在div中显示数据时,也将数据保存在隐藏字段中。这样,当你的表格被张贴时,你会在服务器上获得数据,然后你可以保存它
编辑
这里有一个例子:
<head runat="server">
<title>my title</title>
<script type="text/javascript">
function init() {
document.getElementById("output").innerHTML="<input type='hidden' name='name' value='wasim'/>";
}
</script>
</head>
<body onload="init();">
<form id="form1" runat="server">
<div id="output">
</div>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="Button1_Click" />
<br />
<asp:Label ID="lblOutput" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>
这是服务器端代码:
protected void Button1_Click(object sender, EventArgs e)
{
lblOutput.Text = Request.Form["name"];
}
使用隐藏变量来存储用户输入<input type="hidden" name="user_input_id" id="user_input_id" />
在按钮点击功能中,使用Request.QueryString["user_input_name"].Value
或user_input_id.Value
检索值
如果这还不清楚,请发布您的代码片段,这将为您提供更好的图片
- 使用Javascript获取所选选项ID
- 可以't使用JavaScript获取width属性
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- Javascript获取上一个元素的内容
- 使用Javascript获取Twitter访问令牌
- 在不同的文件中使用Javascript获取表单数据
- 如何用javascript获取谷歌地图的经度和纬度
- 使用javascript获取表的td值
- 如何使用JavaScript获取当前URL
- 如何在谷歌网站中使用javascript获取当前页面的网址
- Javascript获取所有锚链接的索引
- 如何使用javascript获取从指定文件夹创建的所有文件的名称、大小、类型和日期
- Javascript获取具有不同id的文件数's来自没有多个属性的文件输入元素
- 如何使用javascript获取下一个/转发url
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 使用JavaScript获取Gridview单元格值
- 使用javascript获取跨度的文本
- 如何使用Javascript获取POST请求填充的元素的值
- JavaScript-获取数据属性的值返回未定义的值
- Javascript:获取“;FORM”;它是在.html到外部.js文件中创建的