ext中js脚本可以先调用后台方法返回数据再到前台给脚本里的变量赋值?
脚本variTemRowSelect=function(){X.DocumentLines("A00001");varrownumber=GridPanelItem.ge...
脚本
var iTemRowSelect = function () {
X.DocumentLines("A00001");
var rownumber = GridPanelItem.getSelectionModel().lastActive;
var rows = GridPanelItem.getStore().data.items;
rows[rownumber].data.strQuantity = dd;
if (rownumber == (rows.length - 1)) {
hidUpdatedAddLines.setValue(true);
}
后台方法
[DirectMethod]
public string DocumentLines(string strItemCode)
{
Document_Lines_M DocumentLines = new Document_Lines_M();
if (!string.IsNullOrEmpty(strItemCode))
{
Items_M Items = Items_B.Instence.GetItemsByCode(strItemCode, out this.errorMessage);
DocumentLines.strItemDescription = Items.ItemName.ToString();
DocumentLines.strBarCode = Items.BarCode;
DocumentLines.strSerialNum = Items.SerialNum;
DocumentLines.strFactor1 = Items.SalesFactor1.ToString();
DocumentLines.strFactor2 = Items.SalesFactor2.ToString();
DocumentLines.strFactor3 = Items.SalesFactor3.ToString();
DocumentLines.strFactor4 = Items.SalesFactor4.ToString();
DocumentLines.strQuantity = "1";
DocumentLines.strPrice = Items.MovingAveragePrice.ToString();
DocumentLines.strVatGroup = Items.SalesVATGroup;
if (Items.DefaultWarehouse == null)
{
DocumentLines.strWarehouseCode = "01";
}
else
{
DocumentLines.strWarehouseCode = Items.DefaultWarehouse;
}
DocumentLines.strCommisionPercent = Items.CommissionPercent.ToString();
DocumentLines.strTreeType = Items.TreeType.ToString();
}
return DocumentLines.strQuantity;
} 展开
var iTemRowSelect = function () {
X.DocumentLines("A00001");
var rownumber = GridPanelItem.getSelectionModel().lastActive;
var rows = GridPanelItem.getStore().data.items;
rows[rownumber].data.strQuantity = dd;
if (rownumber == (rows.length - 1)) {
hidUpdatedAddLines.setValue(true);
}
后台方法
[DirectMethod]
public string DocumentLines(string strItemCode)
{
Document_Lines_M DocumentLines = new Document_Lines_M();
if (!string.IsNullOrEmpty(strItemCode))
{
Items_M Items = Items_B.Instence.GetItemsByCode(strItemCode, out this.errorMessage);
DocumentLines.strItemDescription = Items.ItemName.ToString();
DocumentLines.strBarCode = Items.BarCode;
DocumentLines.strSerialNum = Items.SerialNum;
DocumentLines.strFactor1 = Items.SalesFactor1.ToString();
DocumentLines.strFactor2 = Items.SalesFactor2.ToString();
DocumentLines.strFactor3 = Items.SalesFactor3.ToString();
DocumentLines.strFactor4 = Items.SalesFactor4.ToString();
DocumentLines.strQuantity = "1";
DocumentLines.strPrice = Items.MovingAveragePrice.ToString();
DocumentLines.strVatGroup = Items.SalesVATGroup;
if (Items.DefaultWarehouse == null)
{
DocumentLines.strWarehouseCode = "01";
}
else
{
DocumentLines.strWarehouseCode = Items.DefaultWarehouse;
}
DocumentLines.strCommisionPercent = Items.CommissionPercent.ToString();
DocumentLines.strTreeType = Items.TreeType.ToString();
}
return DocumentLines.strQuantity;
} 展开
3个回答
展开全部
js调用后台,后台调用前台等方法总结
1. javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入Button1_Click中;
protected void Button1_Click(object sender, EventArgs e)
{
this.TextBox1.Text = "voodooer";
}
2、在前台可以这样调用:
<input type="button" value="访问C#的方法" onclick='document.getElementById("Button1").click();' />
方法二:1、函数声明为public 或者protected
public string ss()
{
return("voodooer");
}
2、 前台调用方法
<script language=javascript>
var a = " <%=ss()%>";
alert(a);
</script>
方法三:
1、 <script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument)
{
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
-->
</script>
<input type="button" value="按钮" >
1. javaScript函数中执行C#代码中的函数:
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入Button1_Click中;
protected void Button1_Click(object sender, EventArgs e)
{
this.TextBox1.Text = "voodooer";
}
2、在前台可以这样调用:
<input type="button" value="访问C#的方法" onclick='document.getElementById("Button1").click();' />
方法二:1、函数声明为public 或者protected
public string ss()
{
return("voodooer");
}
2、 前台调用方法
<script language=javascript>
var a = " <%=ss()%>";
alert(a);
</script>
方法三:
1、 <script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument)
{
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
-->
</script>
<input type="button" value="按钮" >
展开全部
可以用 Ext.Direct 做RPC调用,大概像下面的:
var bLogin=false;
var funcReturn=function(res){ bLogin=res };
REMOTING_API.ServerUser.login(uid,pwd,funcReturn);
或者用AJAX吧:
Ext.Ajax.request({
url: 'test.php',
success: function(xhr){},
failure: function(xhr){},
params: { param1: 100 }
});
var bLogin=false;
var funcReturn=function(res){ bLogin=res };
REMOTING_API.ServerUser.login(uid,pwd,funcReturn);
或者用AJAX吧:
Ext.Ajax.request({
url: 'test.php',
success: function(xhr){},
failure: function(xhr){},
params: { param1: 100 }
});
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以 定义全局变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询