这个工作!..但还需要一件事......
好的,所以这既是"评论"也是问题.首先,是可以帮助其他人搜索asp.net webmethod/jqGrid方法的工作示例.下面的代码完全适用于从jqGrid发送/接收JSON参数,以便使用LINQ进行正确的分页,排序,过滤(仅使用单个搜索)..它使用来自这里和那里的部分......
第二,是我的问题: 有没有人确定一种适当的方法来计算被发送到代码隐藏的动态运算符?由于客户端可能发送"eq"(等于),"cn"(包含)"gt"(大于),我需要一种更好的方法来动态生成whereclause,这不仅限于我构建whereclause字符串"="或"<>",但可以包含动态Linq的使用能力.Contains或.EndsWith等.
我可能需要某种谓词构建器功能..
截至目前处理此问题的代码(有效但有限):
if (isSearch) {
searchOper = getOperator(searchOper); // need to associate correct operator to value sent from jqGrid
string whereClause = String.Format("{0} {1} {2}", searchField, searchOper, "@" + searchField);
//--- associate value to field parameter
Dictionary<string, object> param = new Dictionary<string, object>();
param.Add("@" + searchField, searchString);
query = query.Where(whereClause, new object[1] { param });
}
Run Code Online (Sandbox Code Playgroud)
随着节目.........
==================================================
<script type="text/javascript">
$(document).ready(function() {
var grid = $("#grid");
$("#grid").jqGrid({
// setup custom parameter names …
Run Code Online (Sandbox Code Playgroud) 我的手风琴在页面加载方面工作正常,但是当用户与页面上的某些元素交互时,我使用ajax来重建手风琴的HTML.然后,我尝试再次重新初始化手风琴
$('#accordion').accordion({
active: false,
autoHeight: false,
clearStyle: true,
collapsible: true,
header: 'h3'
});
Run Code Online (Sandbox Code Playgroud)
但是......它似乎没有采取.
新呈现的HTML块未应用手风琴规则.相反,它只是作为一个大型列表保持开放.
我甚至尝试使用setTimeout()重新调用手风琴,只是在回调中返回呈现的HTML之前尝试初始化.
在回调中呈现的HTML与页面加载的HTML完全相同(除了在Accordion方法生效时发生的DOM添加)
我有一个连接的组件,当用 a 包装时可以正常渲染<div>
,但是当我用 Dialog 组件包装时,我不断收到可怕的消息:在“Connect(MyComponent)”的上下文中找不到“store”。是的,根<App />
被包裹起来<Provider />
并且存储很好,所有其他页面、组件、连接的项目都可以访问存储,只是在此对话框中渲染时不能访问存储。
这在过去并不是一个问题,并且显然是由于正在发生的某些依赖项维护而产生的副作用。如果我将 Dialog 组件的底层库从 MUI 0.20 交换到版本 3(通过 @material-ui/core/Dialog),它可以正常工作。mui 0.20 和更新的 React-ish 依赖项之间存在一些平衡。
只是想知道是否有人经历过这种情况?
// Where it's invoked...
<ParentPageComp>
<Dialog open>
<MyConnectedComponent />
</Dialog>
</ParentPageComp>
// What is being attempted to render...
class MyConnectedComponent extends React.Component {
render() {
return <div>Yeppers</div>;
}
}
export default connect(state => ({ blah: state.blah }))(MyConnectedComponent);
Run Code Online (Sandbox Code Playgroud)
同样,如果我替换<Dialog>
为<div>
,一切正常。
不确定这是否相关,但是包装对话框的父组件是用钩子异步加载的......即使替换为react-loadable的代码分割机制,我也会得到同样顽皮的结果。
使用:
accordion ×1
asp.net ×1
callback ×1
dialog ×1
jqgrid ×1
jquery ×1
json ×1
linq ×1
material-ui ×1
parameters ×1
react-redux ×1
redux ×1
rendering ×1
store ×1